循环获取href attr并将其作为变量放入html中的文本

时间:2011-05-19 15:05:34

标签: javascript jquery

我对DOM感到困惑。

我有这个HTML:

<div class="my-list">
    <div class="name"></div>
    <div class="title"><a href="some_url"></a></div>
</div>
<div class="my-list">
    <div class="name"></div>
    <div class="title"><a href="some_url"></a></div>
</div>

这个JavaScript:

var myList = $(".my-list");
for (var i=0;  i < myList.length; i++) {

    // what I want is at myList[i] to get the
    // $(".title a").attr("href") as a variable
    // and then put this variable as text
    // into the html of the $(".name") html

}

构建这个的好方法是什么?

3 个答案:

答案 0 :(得分:1)

$(".my-list").each(function() {
    var element = $(this);
    var href = element.find('.title a').attr('href');
    element.find('.name').text(href);
});

答案 1 :(得分:0)

这应该这样做:

$('.my-list').each(function() {
    var self = $(this);
    $('.name',self).html( $('.title a', self).attr('href') );
});

这是example of it working

答案 2 :(得分:0)

我不太喜欢jquery,但这是一个可行的方法

$(".my-list").each(function(item){
    var divs = item.getElementsByTagName('div');
    for(var i in divs){
        if(typeof divs[i] != 'undefined' && divs[i].className == 'name'){
        divs[i].innerHTML = item.getElementsByTagName('a')[0].href;
        }
    }
});