如何防止jquery下降太多?

Ear*_*rlz 1 html jquery

我遇到的问题是jquery在CSS类和ID的模式匹配方面有点过分.

我有一些看起来像这样的标记:

  <div id="blah">
    <div class="level2">
      <input type="text" />
    </div>
    <div class="levelA">
      <div class="level2">
        <input type="text" value="foo"/>
      </div>
    </div>
  </div>
  <input type="text" value="bar" />
Run Code Online (Sandbox Code Playgroud)

我想要3个输入说

  • 你好
  • 酒吧

所以我有这行jquery:

$('#blah .level2 input').val('hello');
Run Code Online (Sandbox Code Playgroud)

现在的问题是,jquery在模式匹配方面有点过于自由,并且匹配第一个和第二个.

我怎样才能防止这种事情发生?

一个现实的例子是http://jsbin.com/opelo3/4

Tho*_*mas 5

你要

$('#blah > .level2 input').val('hello');
Run Code Online (Sandbox Code Playgroud)

> 指直系后裔.

  • http://www.w3.org/TR/CSS2/selector.html在"css运营商"的快速服务器之后出现了(我想看看其他运营商是否存在). (2认同)