【问题标题】:jquery select multiple while traversing DOMjquery在遍历DOM时选择多个
【发布时间】:2014-06-30 09:27:11
【问题描述】:

我正在尝试使用“findme”类选择所有元素,并从中获取附近的选择。 http://jsfiddle.net/R93md/1/

具体我试过了

$(".findme").parent().prev().first();

然后,一旦我完成了所有选择,我就打算做一个

.each(function (){doSomething(this);}) 

到每个选择。我被卡住了,因为我似乎永远不会去检索跨度的内容。

【问题讨论】:

  • 我想还有.closest()。如果您想在附近获取元素,这个名字听起来很有希望..

标签: javascript jquery dom jquery-selectors


【解决方案1】:

您可以使用.closest() 上到共同的<td>,然后.find() 从那里下去找到相邻的<select>:

$(".findme").each(function() {
    var select = $(this).closest("td").find("select");
    // now do what you want to with the neighboring select object
    // here you have access to both this which is the findme object
    // and select which is the select object
});

【讨论】:

    【解决方案2】:

    我会先获取父 <td> 元素,然后像这样使用 find()

    $('.findme').parents('td').find('select').each(function(){
        ...
    });
    

    http://jsfiddle.net/JYGK3/

    编辑: 在查看此处的其他答案时,我得出的结论是,您可能应该使用closest() 而不是parents()。如果表格是嵌套的,则可能会产生不需要的结果。

    http://jsfiddle.net/JYGK3/1

    【讨论】:

      【解决方案3】:
      $(".findme").closest("td").find("select").each(function() { 
          doSomething(this); 
      });
      

      【讨论】:

        【解决方案4】:

        我认为你应该遵循这个:

        $('.findme').each(function(){
            var el = $(this).closest('td').find('select');
            dosomething(el);
        });
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-06-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-06-23
          相关资源
          最近更新 更多