使用jquery获取最后一个元素

get the last element with jquery

本文关键字:元素 最后一个 获取 jquery 使用      更新时间:2023-09-26

我有以下元素:

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

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

。而不是来自最后一个div内的p标签

I tried:

$('.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>

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

来利用本地outerHTML属性。
$('.A').children().last()[0].outerHTML

试试这个:你可以克隆最后一个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>

我认为你不需要使用其他函数。你可以试试

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

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