我有一些数据来自服务器,我在其中用Html页面填写A Div。 我写div的方式如下:
<div class="BigDiv"><label class = "AttList" Std_Id="' + Std_Id + '">' + Std_Name +'</label></div>
现在,我想要这个div中的数据。 div中有一些其他标签,所以我用this.children来访问这个标签。
var labels = $(this).children('div');
var StdName = this.children[0].childNodes[0].nodeValue;
我想访问Std_Id属性中的 Std_Id ,但我不知道该怎么做...你有什么想法吗? 谢谢。
答案 0 :(得分:3)
假设$(this)
是对.BigDiv
元素的引用:
var StdName = $(this).find('label').attr('Std_Id');
或类似地,假设this
是.BigDiv
元素:
var children = this.childNodes;
for (var i=0,len=children.length; i<len; i++){
if (children[i].nodeType == 1 && children[i].tagName.toLowerCase() == 'label'){
var StdName = this.getAttribute('Std_Id');
}
}
参考文献:
答案 1 :(得分:2)
使用getAttribute
:
var labels = $(this).children('div');
var StdId = this.children[0].getAttribute("Std_Id");
请注意,根据HTML5规范,自定义属性应以data-
开头,但大多数浏览器都可以容忍它。
答案 2 :(得分:1)
您可以使用attr
方法,
var value = $('.AttList').attr('Std_Id');
修改强>
好的,所以你要实现你的,你需要这样做......
var value = $(this).find('.AttList').attr('Std_Id');
假设this
是div
或div
的父母
答案 3 :(得分:1)
要保存使用jQuery-Selector选择的元素,请执行以下操作:
$labels = $('.BigDiv').find('label');
现在,您可以使用jQuery的foreach循环遍历每个标签:
$.each($labels, function() {
var std_id = $(this).attr('Std_Id');
// do something with std_id
});