我看了看,试着找到答案,但我找不到任何东西。或者不知道要找的正确的词。
基本上我正在使用这个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 等等
赞赏任何指针。
答案 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+']');
});
});