我有一个PHP代码,可以构建一个像这样的HTML代码:
echo '<button><span class="glyphicon glyphicon-zoom-in afficher_itk" aria-hidden="true"></span></button>';
echo' <div class="itk" id="'.str_replace(' ','',$systeme_culture['nom_plante']).'">
<table class="table">
<th><td>
<tr colspan="2">
<label>Nom : </label>
<input class="nom_itk" id="nom_itk" value="test">
</td</tr>
</th>
</table>
</div>';
此代码是动态生成的,我可以拥有多个代码。
因为它可以有几样这样的东西,我想在运行我的javascript时定位权限元素。
当我点击按钮时,我想在相应的input
内添加内容。不是第一个,不是最后一个,而是仅在匹配的代码中。
我在js中有类似的东西:
$(".afficher_itk").click(function(){
$itk = $(this).closest(".itk"); //Here, I tried to select the closest itk class which correspond to the first div
$itk.find(".nom_itk").val("test"); //Here I tried to search the input child
}
但是这段代码不起作用。有人可以知道我该怎么办?
答案 0 :(得分:0)
不要在DOM树中向上选择最接近的itk
,最近的遍历。而是使用.next
从当前元素中选择下一个itk
:
$(".afficher_itk").click(function(){
$itk = $(this).next(".itk");
$itk.find(".nom_itk").val("test");
});
答案 1 :(得分:0)
我发现自己可以成为现实。我没有选择td
,而是使用函数parents()
获取$itk = $(this).parents('td');
$itk.find('.nom_itk').val("lison");
父级。之后,我可以使用find功能。
.item__info-details {
position: absolute;
bottom: 0px;
z-index: 2;
width: 100%;
border: 1px solid red;
}
答案 2 :(得分:0)
试试这个:
如果元素是DOM对象
,则它有效jQuery("html").on("click",".afficher_itk", function(){
$itk = $(this).next(".itk");
$itk.find(".nom_itk").val("test");
});