使用jquery访问标签的属性

时间:2012-06-03 12:29:47

标签: javascript jquery html dom attr

我有一些数据来自服务器,我在其中用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 ,但我不知道该怎么做...你有什么想法吗? 谢谢。

4 个答案:

答案 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');

假设thisdivdiv的父母

答案 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
});