试图找到相对于单击按钮的div

时间:2015-02-11 16:52:07

标签: jquery

当我点击类.weightAdjBtn的按钮时,我想将一些HTML附加到div .wAdjWrapper

<fieldset class="weightAdj">
    <legend>weight adjustment (tons) <button class="weightAdjBtn">+</button></legend>
    <div class="wAdjWrapper">
            <div class="wAdjDiv">
                <input type="text" name="adjInWeight" class="wa numbersOnly ibTally">
            </div>
    </div>
    <div class="clr">
    </div>
</fieldset>

功能是:

function addWeightAdj(obj){

    var jin="<div class='wAdjDiv'>";
    jin+="<input type='text' name='adjInWeight' class='wa numbersOnly ibTally'>";
    jin+="</div>";

    $(this).find(".wAdjWrapper").append(jin);   


}

但我没有。 我也试过了

$(this).parent().find(".wAdjWrapper").append(jin);

我已经确认单击按钮时该功能正在触发。

4 个答案:

答案 0 :(得分:2)

在这种情况下,

parent()legend元素,(与button一样)不包含任何div元素。

您需要搜索封闭的fieldset

$(this).closest('fieldset').find(".wAdjWrapper").append(jin);

答案 1 :(得分:0)

试试这个脚本: -

<fieldset class="weightAdj">
    <legend>weight adjustment (tons) <button class="weightAdjBtn">+</button></legend>
    <div class="wAdjWrapper">
            <div class="wAdjDiv">
                <input type="text" name="adjInWeight" class="wa numbersOnly ibTally">
            </div>
    </div>
    <div class="clr">
    </div>
</fieldset>

<script>
jQuery(document).ready(function() {
    jQuery( document ).on( 'click', '.weightAdjBtn', function() {
        var jin="<div class='wAdjDiv'>";
        jin+="<input type='text' name='adjInWeight' class='wa numbersOnly ibTally'>";
        jin+="</div>";
        jQuery( ".wAdjWrapper" ).append( jin );
    });
});
</script>

答案 2 :(得分:0)

请参考以下代码。

<body>
<div class="a">
    <button id="add" onclick="Add()">Add</button>
    <div class="b">


    </div>

</div>

</div>

<script>

function Add() {

    if($("#add").parent().hasClass('a'))
    {
            $('div.b').append("<p>Test</p>");
    }
}

答案 3 :(得分:0)

我做了一些错误的事情,但是让它在这里工作:

jsfiddle

$(obj).parent().parent().find(".wAdjWrapper").append(jin);