jQuery只选择一个子元素
jQuery select element but one child element
我正试图在一个元素和除一个子元素外的所有子元素上应用一些CSS。这也包括元素外部的字符串。这是一个我需要省略的标签,因为我需要将标签上的CSS更改为其他内容。我不能这样做:
$("div *").not("h1")[...]
因为它不适用于字符串。
http://jsfiddle.net/P5EAs/2/和http://jsfiddle.net/P5EAs/1/看看我的意思。
这是jQuery,所以使用CSS是不起作用的。我需要使用.css()
由于h1
是div
的子级,因此需要查找子级并使用not。。试试这个
$("div").children().not('h1').css("color","red");
或者,
使用简单的CSS
div{color:red;}
h1{color:black;} //after div..
这应该工作
尝试:
仅CSS:
div{color:red;}
div h1{color:black;}
在这里打转
仅JS:
$("div").css("color", "red");
$("div h1").css("color", "black");
在这里打转
$("div").css("color","red").find("h1").css("color", "black");
你能得到的最接近的东西是:
$("div > *:not(h1)").css("color", "red");
但是,这将忽略未包装在元素中的文本
您不能直接为文本节点设置颜色,因此您必须在父节点上设置红色,特别是将H1设置为黑色,或者您必须将文本节点包裹在一个跨度中,并在除H1之外的所有子节点上设置红色。
$('div').children(':not(h1)').css('color', 'red').end()
.contents().filter(function() {
return this.nodeType === 3;
}).wrap('<span style="color: red" />')
FIDDLE
相关文章:
- 使用clickToggle并在单击另一个元素时关闭元素
- 表追加而不附加最后一个元素
- 滚动到容器中的下一个元素-几乎到了
- 使用CSS或js,使用动态选择器选择任意li的下一个元素
- 按我自己的类克隆另一个元素的内容和顺序
- Javascript获取上一个元素的内容
- 如何通过HTML+CSS中的另一个元素Selector更改元素的属性值
- 在数组中的一个元素上设置多个值
- 无法选择除一个元素外的所有元素
- 使用jquery contains获取一个元素并添加类
- $(.class).empty总是缺少一个元素
- jQuery-将列表项的一个元素移动到同一项的另一个元素中+对我的列表中的每个项执行此操作
- 如何在一个元素动画之后延迟
- jQuery转盘下一个元素没有滑入
- jquery从另一个元素中移除移除
- DIV怎么能像Javascript中的另一个元素一样工作呢
- 当知道同一hiearch中至少有一个元素时,遍历到元素.结构使用jquery
- 使用数据属性将HTML数据复制到另一个元素
- 如何选择给定类的上一个元素
- 动态修改一个元素,使其与给定的选择器匹配