Js动态创建的元素,如何设置他们的样式?我知道委托可以绑定事件,但是不知道如何绑定样式。

事件委托针对的是动态被创建的元素的事件,而非元素的样式,我现在所需要的是,当元素js语言动态创建时,及时给它加上一个样式,请注意是样式非事件。我发现事先写好在css里的样... 事件委托针对的是动态被创建的元素的事件,而非元素的样式,我现在所需要的是,当元素js语言动态创建时,及时给它加上一个样式,请注意是样式非事件。

我发现事先写好在css里的样式对这些被js创造出来的元素是无效的,在jquery里面直接用css()函数来设置样式也是无效的。

所以,来此一问,大家肯定有类似的问题,对吧,你们是怎样解决的。

补充:
Js创造出来的元素是一个开源的插件加上去的广告,比如<div class="ad">我是广告</div>,我现在就是想把这个广告干掉,而且我找不到这个元素在何处被创造的,也不知道这个创建广告的js函数写在哪,反正就是搜索不到,没办法。

所以,问题在于,如果动态侦测这个元素,当它一出来时就把它干掉。
或者,让js创建出来的元素的样式display的属性为none也行。

反正我在js里事先写好$('.ad').hide();和css里面写好.ad { display: none; } 这些都没用。
展开
 我来答
folier
2012-10-26 · TA获得超过490个赞
知道小有建树答主
回答量:635
采纳率:0%
帮助的人:495万
展开全部
可以使用脚本框架,例如jQuery或国人的JSer,
设置样式如:
jQuery: $(".ad").css("样式名1", "样式值").css("样式名2", "样式值");
如: $(".ad").css('background-color','red').css('color','green');

JSer除了像上面那样写外,还可以这样:
JSer(".ad").css({backgroundColor:'red', color:'green'});
如果是绑定样式名的话:
jquery: $(".ad").addClass("xxx").addClass("yyy");
JSer: JSer(".ad").addClass("xxx yyy");

看了下你的补充问题,你可以用JSer,像这样做:

JSer.exec(function(){
setInterval(function(){

JSer(".ad").remove();
}, 500);
});

因为不清楚那个ad是什么时候被创建的,因为有可能是网页加载完后过几秒创建的。所以上面的代码创建一个定时器,直接将.ad广告remove掉。
duankongwo
2012-10-15
知道答主
回答量:22
采纳率:0%
帮助的人:11.1万
展开全部
Js加载的浮动广告一般都写的行间样式,优先级比css设置的样式高;
你另外写的$('.ad').hide();无效估计跟js加载顺序有关,把这句加在页面最底部试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
夜冥明
2012-10-16 · 超过21用户采纳过TA的回答
知道答主
回答量:104
采纳率:0%
帮助的人:26.4万
展开全部
$('.ad').hide();无效估计跟js加载顺序有关,把这句加在页面最底部试试
同意
setTimeout("$('.ad').hide();",1000);这样也行
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式