如何在父ID之外找到ID或表单?
例如:
<ul>
<li>
<a></a>
</li>
</ul>
<div>
<div>
<div>
<div>
<form></form>
</div>
</div>
</div>
</div>
当我点击一个href时,如何通过jQuery获取表单信息? 或者只有当我给表单提供类或id时才可以使用它?
答案 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遍历它。
<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;
答案 3 :(得分:0)
您可以使用jQuery .closest
method。
这是一个例子:
$('.btn').click(function(){
var formParent = $(this).closest('form');
});
答案 4 :(得分:0)
var form = $(this).closest('ul').siblings('div').find('form');
描述:获取匹配元素集中每个元素的兄弟元素,可选择通过选择器进行过滤。
注意:
假设ul有一个兄弟div