Jquery在父级外部查找id或表单

时间:2016-05-02 06:42:13

标签: javascript jquery

如何在父ID之外找到ID或表单?

例如:

<ul>
    <li>
        <a></a>
    </li>
</ul>
<div>
    <div>
        <div>
            <div>
                <form></form>
            </div>
        </div>
    </div>
</div>

当我点击一个href时,如何通过jQuery获取表单信息? 或者只有当我给表单提供类或id时才可以使用它?

5 个答案:

答案 0 :(得分:4)

点击form,您可以获得a引用,如下所示。

$('a').click(function(e) {
    e.preventDefault();
    var form = $(this).closest('ul').next('div').find('form');
})

答案 1 :(得分:1)

我建议您为整个代码段设置一个包装器,

<div id="wrapper">
<ul>
    <li>
        <a class="link"></a>
    </li>
</ul>
<div>
    <div>
        <div>
            <div>
                <form></form>
            </div>
        </div>
    </div>
</div>
</div>

然后,使用

$("a.link").click(function(e){
  e.preventDefault();
var form = $(this).parents('#wrapper').find('form'); // the required form
})

答案 2 :(得分:1)

使用find遍历它。

&#13;
&#13;
<ul>
    <li>
        <a id="find" style="border:1px solid lawngreen;">Find</a>
    </li>
</ul>
<div>
    <div>
        <div>
            <div>
                <form>Form Text</form>
            </div>
        </div>
    </div>
</div>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>

<script>
$(document).ready(function(){
  
  $("#find").click(function(){
  
    $("body").find("form").css({"color": "red", "border": "2px solid red"});
});
  
  });
  
</script>
&#13;
&#13;
&#13;

答案 3 :(得分:0)

您可以使用jQuery .closest method

这是一个例子:

$('.btn').click(function(){

  var formParent = $(this).closest('form');
});

答案 4 :(得分:0)

var form = $(this).closest('ul').siblings('div').find('form');

.siblings()

  

描述:获取匹配元素集中每个元素的兄弟元素,可选择通过选择器进行过滤。

注意:

假设ul有一个兄弟div