获取特定元素内的元素

时间:2016-04-28 13:05:18

标签: javascript php jquery html

我有一个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
}

但是这段代码不起作用。有人可以知道我该怎么办?

3 个答案:

答案 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");
});