jquery遍历带点符号的dom

时间:2015-04-10 16:05:37

标签: jquery html

我看了看,试着找到答案,但我找不到任何东西。或者不知道要找的正确的词。

基本上我正在使用这个html:

<article>
<a href="link.com">
    <div class="item" id="1">
        <div class="description">
            <div class="number">#532567</div>
            <a href="1.html">see more</a>
        </div>
    </div>
</a>
<a href="link.com">
    <div class="item" id="2">
        <div class="description">
            <div class="number">#533581</div>
            <a href="2.html">see more</a>
        </div>
    </div>
</a>

基本上我想做的是在循环中获取所有部分,然后输出我自己的json,它比html代码更好地安排。

我有这个jquery

$(document).ready(function(){
    $('article > a').each(function(i,v) {
        //right now, 't', 'this', and 'v' are all THE SAME OBJECT
        var href = $(this).attr('href');
        var div = $(this).find('.item').html();
            var number = div.description.number.val();
        console.log('href['+href+'] div['+div+'] number['+number+']');
    });
});

和href正确输出但是div未定义,并且我在数字上得到了'无法读取未定义'的属性。

我想使用点符号来实现这一点。我希望能够利用: div.item id值 div.description div.number html 等等

赞赏任何指针。

2 个答案:

答案 0 :(得分:1)

我尝试了这个并且它似乎有用(选择每个.item而不是)

$(document).ready(function () {
    $('.item').each(function (index, value) {
        //right now, 't', 'this', and 'v' are all THE SAME OBJECT
        var href = $(value).parent().find('a').attr('href');
        var divId = $(value).attr('id');
        var number = $(value).find('.number').html();
        console.log('href[' + href + '] div[' + divId + '] number[' + number + ']');
    });
});

<强> FIDDLE

答案 1 :(得分:0)

也许这有帮助。

使用Javascript:

$(document).ready(function(){
    $('article > a').each(function(i,v) {
        //right now, 't', 'this', and 'v' are all THE SAME OBJECT
        var href = $(this).attr('href');
        var div = $(this).find('.item');
            var number = div.find('.description .number').html();
        console.log('href['+href+'] div['+div.html()+'] number['+number+']');
    });
});