Javascript 父项和子项选择,可';t访问第一个父级(jquery)
我对jquery的父/子选择有问题 我有一个HTML页面,如下所示:Javascript 父项和子项选择,可';t访问第一个父级(jquery),javascript,jquery,jquery-selectors,parent,children,Javascript,Jquery,Jquery Selectors,Parent,Children,我对jquery的父/子选择有问题 我有一个HTML页面,如下所示: <tr> <input type='checkbox' /> //1st checkbox <.. some stuff ../> </tr> <tr> <td><input type='checkbox' /></td> //2nd checkbox <td> <select
<tr>
<input type='checkbox' /> //1st checkbox
<.. some stuff ../>
</tr>
<tr>
<td><input type='checkbox' /></td> //2nd checkbox
<td>
<select id='stateChanger' onchange='stateChanger();'/>
<option> ...</option>
...
</td>
</tr>
如果有人有想法帮助我,我可以发布完整的代码。
谢谢Victor您可以使用:
function stateChanger(obj) {
$(obj).closest("tr").find("td:first input[type='checkbox']").attr("checked", "true")
}
并将this
添加到onchange='stateChanger();'所以它将是onchange='stateChanger(this);'代码>
这将检查第二个
演示
功能状态变换器(obj){
$(obj).closest(“tr”).find(“td:first input[type='checkbox']).attr(“checked”,“true”)
}
...
特克斯特
closest()
查找目标元素最近的父元素。您可以像下面这样使用
function stateChanger(){
$('#stateChanger').closest('tr').find('td:eq(0)).find('input[type=“checkbox”]).prop('checked',true);
}
表td{border:1px solid#999;}
选择值
选择1
尝试stateChanger(this)
然后函数stateChanger(obj){$(obj).closest(“tr”).find(“td:first-input[type='checkbox']).attr(“checked”,“true”)
在修复HTML后,jQuery行完全按照它应该做的那样做:(尽管您希望使用prop
而不是attr
)我只需删除find中的冒号,并将其替换为空白。
function stateChanger(obj) {
$(obj).closest("tr").find("td:first input[type='checkbox']").attr("checked", "true")
}
$('#stateChanger').closest('tr').find("td input[type='checkbox']").attr("checked","true");