如何获取元素的title属性并使用jquery将其插入到元素之后?

How to get title attribute of element and insert it after element using jquery?

我有一个包含这样列表元素的列表...

<li class="first leaf">
  <a href="/admin/store/orders/view" title="View and process the orders.">View orders</a>
</li>

我想获取 title 属性并将其作为 div 附加在 <a> 之后,就像这样...

<li class="first leaf">
  <a href="/admin/store/orders/view" title="View and process the orders.">View orders</a>
  <div>View and process the orders.</div>
</li>

到目前为止,我在这里...

(function ($) {    
  $('#block-menu-menu-admin-welcome li a').each(function () {
    $(this).append('<div>' + $(this).attr('title') + '</div>');
  });
})(jQuery);

但它不起作用。有人可以帮忙吗?

JQuery .append() insert html to selected element but you need to insert html after selected element. Use .after() 代替。

$('#block-menu-menu-admin-welcome li a').each(function () {
    $(this).after('<div>' + $(this).attr('title') + '</div>');
});

$('a').each(function(){
    $(this).after('<div>' + this.title + '</div>');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
  <li class="first leaf">
    <a href="/admin/store/orders/view" title="View and process the orders.">View orders</a>
  </li>
</ul>

循环中的第一个 this 是对锚点的引用。您必须将其梳理到其父元素并附加到该元素。

$(this).parent().append('<div>' + $(this).attr('title') + '</div>');

这里有一个 WORKING FIDDLE 给你。

$(function(){

     $('.first').append($('.first a').attr('title'));

});