如果li元素存在,如何将id添加到pre元素

时间:2015-12-14 11:45:37

标签: javascript jquery

我在论坛上有一段代码,这些代码都在预标签中。 每条评论都发布在一个带有唯一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"

这不是我为它制作的正确代码吗?

1 个答案:

答案 0 :(得分:1)

尝试:

$('pre').each(function() {
    $(this).attr('id', $(this).closest('li, div').first().attr('id')+'_pre');
});