Jquery总是返回索引-1

时间:2012-09-13 21:34:12

标签: jquery indexing removechild

这是我用来返回父div的索引按钮的索引代码:

j('#optionform').index( j(this).parent() )

我正在尝试查找单击按钮的DIV索引,因此我可以删除DIV。

HTML布局如下:

    <form id="optionform" onsubmit="return false;">
    <label><input type="checkbox" id="s_name" value="s_name"> Survey Name </label>
    <label><input type="checkbox" id="s_type" value="s_type"> Survey Type </label><br>
                    Filter Results:<br>
    <div id="template" style="display: none;">
                        Column: <select id="fcolumn[]">
                            <option></option>
    <option value="s_name">Survey Name</option>
    <option value="s_type">Survey Type</option>
    </select><br>
                        Filter Type: <select id="ftype[]">
                            <option></option>
                            <option value="=">Equals</option>
                            <option value="LIKE">Like</option>
                        </select><br>
                        Filter content: <input type="text" id="fcontent[]"><br>
    <img src="images/add.png" width="32px" onclick="addTemp(); return false;">
    <img src="images/delete.png" width="32px" onclick="alert(j(this).attr('src')); remTemp(j('#optionform').index( j(this).parent() )); return false;">
                    </div>
<div class="template" style="display: block;">
                        Column: <select id="fcolumn[]">
                            <option></option>
    <option value="s_name">Survey Name</option>
    <option value="s_type">Survey Type</option>
    </select><br>
                        Filter Type: <select id="ftype[]">
                            <option></option>
                            <option value="=">Equals</option>
                            <option value="LIKE">Like</option>
                        </select><br>
                        Filter content: <input type="text" id="fcontent[]"><br>
    <img src="images/add.png" width="32px" onclick="addTemp(); return false;">
    <img src="images/delete.png" width="32px" onclick="alert(j(this).attr('src')); remTemp(j('#optionform').index( j(this).parent() )); return false;">
                    </div>
<div class="template" style="display: block;">
                        Column: <select id="fcolumn[]">
                            <option></option>
    <option value="s_name">Survey Name</option>
    <option value="s_type">Survey Type</option>
    </select><br>
                        Filter Type: <select id="ftype[]">
                            <option></option>
                            <option value="=">Equals</option>
                            <option value="LIKE">Like</option>
                        </select><br>
                        Filter content: <input type="text" id="fcontent[]"><br>
    <img src="images/add.png" width="32px" onclick="addTemp(); return false;">
    <img src="images/delete.png" width="32px" onclick="alert(j(this).attr('src')); remTemp(j('#optionform').index( j(this).parent() )); return false;">
                    </div>
 </form>

但它总是在索引中返回-1

2 个答案:

答案 0 :(得分:2)

尝试$(this).parent().index(".template"),但请记住,您的第一个模板div有一个id而不是一个类。这是一个错字吗?

答案 1 :(得分:1)

为什么在直接删除div的索引时需要div的索引。

j('#optionform').parent().remove();

j('#optionform').parent()会给出点击按钮的Div