我有这个HTML代码:
<span id="one">one</span>
<div>
<span>two</span>
</div>
<span id="click">click</span>
$("#click").click(function(){
$(this).css('color', 'red');
})
我希望能够改变
的颜色<span>two</span>
当我点击“点击”范围但没有使用jQuery添加任何自定义CSS类或id属性时。
答案 0 :(得分:5)
在您描述的确切情况下,您可以使用此选择器为该范围着色:
$('#one').next('div').find('span').css('color','red');
或者pimvdb指出:
$('#one + div span').css('color','red');
+
与next()
的效果相同,这也消除了使用.find()
的麻烦。
答案 1 :(得分:3)
$("#click").click(function(){
$("div>span").css('color', 'red');
});
OR
您可以使用:contains
$("#click").click(function(){
$("span:contains(two)").css('color', 'red');
});
答案 2 :(得分:2)
如果你的HTML完全如问题所示,那么你可以这样做:
$("#click").click(function(){
$("#one").next().find("span").css("color", "red");
});
这是一个working example。这可以通过span
获取id
“one”,然后获取next
元素(div
)并最终找到span
来实现div
。