Javascript 使用jQuery修改CSS而不使用ID或类

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 二 点击 $(“#

我有以下HTML代码:

    <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');
});