使用包含JQuery的div内容的title属性在div之前添加元素

时间:2011-09-24 00:59:02

标签: jquery

我有:

<li class="ingredient">
<div>
<span class="amount">1 lb</span>
<span class="name">asparagus</span>
</div>

我想使用jQuery来获取:

<li class="ingredient">
<img class="myImage" title="Yes!!! asparagus" src="/white2x2.gif">
<div>
<span class="amount">1 lb</span>
<span class="name">asparagus</span>
</div>
到目前为止,我得到了:

 $(".ingredient div").before("<class='myImage' src="/white2x2.gif' />");

但如何在那里获得标题。请注意,页面上有很多这些,我希望标题代表元素。

非常感谢!

4 个答案:

答案 0 :(得分:2)

根据您的意见,这应该为您做。

$('.ingredient div').each(function() {
  var name = $(this).find('.name').text();
  $(this).before($('<img />').attr({class:'myimage', src:'/white2x2.gif',title:name}));
});

这是一个jsfiddle

答案 1 :(得分:0)

尝试:

var newDiv = $("<img />").attr('src','/white2x2.gif').attr('class','myImage').attr('title','Yes!!! asparagus');
$(".ingredient div").before(newDiv);

答案 2 :(得分:0)

如果您尝试使用范围中的文字作为标题:

var name = $('.ingredient').find('.name').text();
$('.ingredient div').before($('<img />').attr('class','myImage').attr('src','/white2x2.gif').attr('title', name);

答案 3 :(得分:0)

您可以使用jQuery .prepend()

$(document).ready(function(){
    $.each($(document).find("li.igredient"), function(){
        img_title = $(this).find('.name').text();
        $(this).prepend("<img class='myImage' src='/white2x2.gif' title='" + img_title + "' />");
    });
});

http://jsfiddle.net/KHFRh