用jquery

时间:2015-09-28 12:34:06

标签: javascript jquery

我有以下要素:

fieldset (class="A") > div > p > several input and labels

我想获得字段集中的最后一个div - 包含div标签

即。不是来自最后一个“div”内的“p”标签

我试过了:

$('.A').children().last().html()

但是它给了我没有div标签的最后一个div(即从p里面)

任何想法为什么或如何在查询中包含div标签?

HTML:

<div class="form">
    {{ form.as_p }}
    <fieldset class="A">
        {% for b in B%}
            <div id="b-{{ forloop.counter0 }}">
                {{b.as_p}}
            </div>
        {% endfor %}    
     </fieldset>
  </div>

3 个答案:

答案 0 :(得分:5)

html()只会获得innerHTML。您可以通过检索本机DOM元素

来使用本机outerHTML属性
$('.A').children().last()[0].outerHTML

答案 1 :(得分:0)

试试这个:你可以克隆最后一个div。将它添加到某个临时jquery元素,并.html()将为您提供上一个div的外部html

$(function(){
  var tempDiv = $('<div></div>');
  tempDiv.append($('.A').children().last().clone());
  alert(tempDiv.html());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<div class="form">
    <fieldset class="A">
            <div id="a">
               <p>a</p>
            </div>
            <div id="b">
               <p>b</p>
            </div> 
            <div id="c">
               <p>c</p>
            </div> 
     </fieldset>
  </div>

答案 2 :(得分:0)

我认为您不需要使用其他功能。你可以试试

$(".A > div:last-child")

选择包含DIV标签的最后一个div。