Javascript 使用jQuery修改CSS而不使用ID或类
我有以下HTML代码:Javascript 使用jQuery修改CSS而不使用ID或类,javascript,jquery,html,Javascript,Jquery,Html,我有以下HTML代码: <span id="one">one</span> <div> <span>two</span> </div> <span id="click">click</span> $("#click").click(function(){ $(this).css('color', 'red'); }) 1 二 点击 $(“#
<span id="one">one</span>
<div>
<span>two</span>
</div>
<span id="click">click</span>
$("#click").click(function(){
$(this).css('color', 'red');
})
1
二
点击
$(“#单击”)。单击(函数(){
$(this.css('color','red');
})
我想能够改变的颜色
<span>two</span>
2
当我单击“单击”范围,但不使用jQuery添加任何自定义CSS类或id属性时。在您描述的确切情况下,您可以使用此选择器为该范围着色:
$('#one').next('div').find('span').css('color','red');
或者正如pimvdb所指出的:
$('#one + div span').css('color','red');
+
的作用与next()
相同,这也消除了使用.find()
的必要性。如果您的HTML完全如问题所示,则可以执行以下操作:
$("#click").click(function(){
$("#one").next().find("span").css("color", "red");
});
这是一个例子。这是通过使用id
“one”获取span
,然后获取元素(即div
),最后在div
中找到span
$("#click").click(function(){
$("div>span").css('color', 'red');
});
或
你可以用
为什么不能编辑标记?+1您还可以组合以下内容:
$('one+div span').css('color','red')代码>很好,我不知道选择器中的+
符号:)
$("#click").click(function(){
$("span:contains(two)").css('color', 'red');
});