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

Pau*_*uck 3 html javascript jquery

我有这个HTML代码:

    <span id="one">one</span>
    <div>
        <span>two</span>
    </div>


  <span id="click">click</span>


$("#click").click(function(){
    $(this).css('color', 'red');
})
Run Code Online (Sandbox Code Playgroud)

我希望能够改变颜色

<span>two</span>
Run Code Online (Sandbox Code Playgroud)

当我单击"单击"跨度但没有使用jQuery添加任何自定义CSS类或id属性时.

Kok*_*kos 5

在您描述的确切情况下,您可以使用此选择器为该范围着色:

$('#one').next('div').find('span').css('color','red');
Run Code Online (Sandbox Code Playgroud)

或者像pimvdb指出的那样:

$('#one + div span').css('color','red');
Run Code Online (Sandbox Code Playgroud)

+做同样的next()事情,这也消除了必须使用.find().

  • +1你也可以把它结合起来:`$('#one + div span').css('color','red');` (2认同)