我在论坛上有一段代码,这些代码都在预标签中。 每条评论都发布在一个带有唯一ID的li标签中。 我继承了这个id,并将其添加到pre标签中。 这很好用。 只是第一次讨论开始;此pre元素不在li标签中,但是也是唯一ID的div的一部分。 所以我想要实现:检查列表标签是否存在并将最近的li id绑定到pre标签。 如果最近的li标签不存在(讨论开始),请查找最接近的div id并将其绑定到pre标签:
代码:
$('pre').each(function(){
if ($('li').length > 0) {
$(this).attr('id', $(this).closest('li').attr('id')+'_pre');
}
else {
$(this).attr('id', $(this).closest('div').attr('id')+'_pre');
}
});
但是当我查看源代码时,我可以看到第一个预标签:
id="undefined_pre"
这不是我为它制作的正确代码吗?
答案 0 :(得分:1)
尝试:
$('pre').each(function() {
$(this).attr('id', $(this).closest('li, div').first().attr('id')+'_pre');
});