如何获得李标签attrbute

如何获得李标签attrbute

问题描述:

我有这个HTML如何获得李标签attrbute

<ul> 
    <section id="Home" class="ulseWrap lielement"> 
     <div class="intit someclassss">Home<span id="deleteHome" class="inDelete"></span></div> 
    </section> 
    <section id="Office" class="ulseWrap lielement"> 
     <div class="intit someclassss">Office<span id="deleteOffice" class="inDelete"></span></div> 
     <ul class="restListings"> 
     <div class="inner-intit"> 
      <sub class="sub">Yours Favorite Restaurant</sub> 
      <li class="innerChild" vendor_id="2"> 
      </li> 
      <li class="innerChild" vendor_id="1"> 
      </li> 
     </div> 
     </ul> 
    </section> 
</ul> 

当在类点击inDelete下一个特定部分目前的数据,我需要把所有的标签下是vendor_id's目前特定部分。

我试过这种方法,但我得到错误未捕获的语法错误:在浏览器控制台意外串

$(document).on('click', '.inDelete', function(event) { 
var existingvendorids = []; 
$(this).closest("section li").each(function() { 
var vendor_id = $(this).attr("vendor_id"); 
existingvendorids.push(vendor_id); 
}); 
}); 

这是我的jsfiddle

http://jsfiddle.net/1ty1v8u1/9/

请参考函数评论/ /这是在jsfiddle中单击GE KONE(DELETE)时调用的,它正在完成这项工作。

我需要所有的供应商ID的所有存在于特定部分 感谢李标记数组的形式提前

你需要使用,最接近()来查找section,找到()来获取li元素

$(document).on('click', '.inDelete', function (event) { 
    var existingvendorids = $(this).closest("section").find('li').map(function() { 
     return $(this).attr("vendor_id"); 
    }).get(); 
}); 
+0

非常感谢你,但为什么是我得到的结果时,它仅在扩展状态? (在jsfiddle中,无论是展开Office还是HOME)我都无法使它处于未展开状态。 – Pawan 2014-09-24 12:10:11

试试这个:使用closest()得到父母section,然后使用find()来获取所有li根据第

$(document).on('click', '.inDelete', function(event) { 
var existingvendorids = []; 
$(this).closest("section").find("li").each(function() { 
    var vendor_id = $(this).attr("vendor_id"); 
    existingvendorids.push(vendor_id); 
}); 
}); 

Demo