Jquery – 将CSS样式应用于指定div中的所有元素?

前端之家收集整理的这篇文章主要介绍了Jquery – 将CSS样式应用于指定div中的所有元素?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个情况,我正在为一个wordpress网站设置一个移动主题.
现在我想做的是,在“#content”div中抓取任何元素(p,divs,etcc),并对每个这些子元素应用css“width:100%”.

我想要这样做的原因是,如果某人为div设置固定宽度,则需要覆盖该宽度,并将其恢复为100%,以便在具有较小屏幕的移动设备上查看时不会被截断.

我想知道如何使用Jquery来实现这一点.

我感谢任何帮助.
谢谢

解决方法

有时,jQuery是错误的方式…

你不应该使用jQuery,除非它提供了合法的优势.通常使用标准JavaScript将为您带来巨大的性能优势.根据您的情况,您可以执行以下操作:

var i,tags = document.getElementById("content").getElementsByTagName("*"),total = tags.length;
for ( i = 0; i < total; i++ ) {
  tags[i].style.width = '100%';
}

在线演示:http://jsbin.com/otunam/3/edit

话虽如此,jQuery方法也很简单.

$('#content').find('*').width('100%');

这将运行到每个级别的#content,影响所有元素.

在线演示:http://jsbin.com/otunam/edit

性能差异

使用http://jsperf.com比较这里的性能差异,我们可以看到原始JavaScript的速度超过了jQuery的替代方案.在一次测试中,JavaScript可以在jQuery完成20k的时间内完成300k的操作.

现在测试:http://jsperf.com/resizing-children

但是,为什么选择JavaScript?

最终,jQuery还是Raw JavaScript更好的问题是一个红色的鲱鱼,分散了真正的问题 – 为什么要使用脚本?如果您检测到移动浏览器,请加载包含移动规则的新样式表:

#content * { width:100% }

猜你在找的jQuery相关文章