Javascript 家长>;jquery1.3中的子表示法

Javascript 家长>;jquery1.3中的子表示法,javascript,jquery,Javascript,Jquery,我使用的是jQuery1.3版本 <div id='mainPanel'> <div> <h3>Head #1 <a href="#"><input type="text" value="Type 1"/> </a></h3> <div> <div id="panel_1"> <div class="items"&

我使用的是jQuery1.3版本

<div id='mainPanel'>
   <div>   
     <h3>Head #1 <a href="#"><input type="text" value="Type 1"/> </a></h3>

     <div>
        <div id="panel_1">
          <div class="items">
             <div><input type='text' value="0"/></div>
             <div><input type='text' value="1"/></div>
             <div><input type='text' value="2"/></div>
             <div><input type='text' value="3"/></div>
        </div> 
      </div>
     </div>

   <div>   
     <h3>Head #2 <a href="#"><input type="text" value="Type 2"/> </a></h3>
     <div>
        <div id="panel_2">
          <div class="items">
             <div><input type='text' value="0"/></div>
             <div><input type='text' value="1"/></div>
             <div><input type='text' value="2"/></div>
             <div><input type='text' value="3"/></div>
        </div> 
      </div>
     </div>

   <div>
</div>
在这里,我无法使用parent>child表示法获得结果

我如何在这里访问H3>A>输入的值元素根本不包含任何
元素,因此第一个选择器会把事情搞砸。真的没有必要这么复杂:

$('#panel_1 input').each(function() { ...
将获得“panel_1”中的所有输入元素

编辑-另一种选择,现在我明白你所说的“我需要一个id”是什么意思了:

依靠刚性容器结构似乎是长期问题的解决办法。这就是为什么“class”和“id”值如此有用的原因——确切的标记结构可以更改,但灵活的代码可以继续工作。

我必须替换它们

$(this).next('div > div > div > div').each(function(index) 
有以下几点

$(this).next('div').find('div > div > div >input').each(function(index) 

因此,您得到了一个id,需要查找其面板中包含的输入

 $('#panel_' + givenId + ' input').each(function() { ...

或者您需要在所有面板之间循环并获取输入吗?

到底是什么失败了?第一个或第二个调用?可能是输入错误,但您的标记中将mainPanel作为一个类,并将其作为id引用。但问题是,随着块的逐渐增加,panel_1可能会有所不同,这就是我向下爬行到元素的原因
$(this).next('div').find('div > div > div >input').each(function(index) 
 $('#panel_' + givenId + ' input').each(function() { ...