为什么尺寸返回错误的数字?

时间:2014-01-27 06:37:48

标签: javascript jquery html

以下是我的jQuery代码:

<script type = "text/javascript" >
    function add_title() {
        var title_no = $('#doc_title div').size();
        alert(title_no);
    } 
</script>

以下是我关注的HTML代码:

<ul>
<li>
<div id="doc_title" class="answer-block">
<a id="add_more_title" class="c-gray-btn c-add-btn" onclick="add_title(); return false;" name="add_more_title" href="#">
<ol>
<div id="ttl1">
<li class="ans_li">
<li class="ans_li">
<li class="ans_li">
<li class="ans_li">
<input type="hidden" value="22" name="pt_doc_id[0]">
<input type="hidden" value="sahil_kumar.pdf" name="pt_doc_old_file_iname[0]">
</div>
<div id="ttl2">
<li class="ans_li">
<li class="ans_li">
<li class="ans_li">
<li class="ans_li">
<input type="hidden" value="23" name="pt_doc_id[1]">
<input type="hidden" value="vijay_singh.doc" name="pt_doc_old_file_iname[1]">
</div>
</ol>
<a id="add_more_title" class="c-gray-btn c-add-btn" onclick="add_title(); return false;" name="add_more_title" href="#">
<p class="fade">Note * (Image size should be less then 1 mb and allowed image types are jpg, jpeg, gif, png .)</p>
</div>
</li>
<li>
</ul>

警报即为4,实际警报应为2.为什么会发生这种情况?有人可以帮我这方面吗?简而言之,它给出了两倍的不。 div中存在的div id= doc_title。也就是说,如果存在1 div,那么警报将变为2,如果没有。是警告8。

2 个答案:

答案 0 :(得分:2)

从问题看来,你的代码中有两次dom结构。的 Demo

要特别选择这个dom,你需要确定这个dom在dom结构方面与现有的dom有什么不同(即两个dom在他们的子结构和父结构方面有什么不同)。可以找出父母与id / class并尝试获取dom。的 Demo

var title_no = $('#doc_title div').length;
var title_no1 = $('ul li #doc_title div').length;

答案 1 :(得分:1)

Please try this:
$("#add_more_title").click( function() {
    var title_no = $('#doc_title div').size(); alert(title_no); 

});