1

我有一些来自服务器的数据,我在 Html 页面中填充了一个 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

4 回答 4

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');
    }
}

参考:

于 2012-06-03T12:34:20.700 回答
2

使用getAttribute

var labels = $(this).children('div');
var StdId = this.children[0].getAttribute("Std_Id");

请注意,根据 HTML5 规范,自定义属性应该以 开头data-,尽管大多数浏览器都可以容忍它。

于 2012-06-03T12:40:43.720 回答
1

您可以使用这种attr方法,

var value = $('.AttList').attr('Std_Id');

编辑

好的,所以你为了你的实现,你需要这样做......

var value = $(this).find('.AttList').attr('Std_Id');

假设那this是它div的父级或父级div

于 2012-06-03T12:34:40.687 回答
1

要保存使用 jQuery-Selector 选择的元素,请执行以下操作:

$labels = $('.BigDiv').find('label');

现在您可以使用 jQuery 的 foreach 循环遍历每个标签:

$.each($labels, function() {
    var std_id = $(this).attr('Std_Id');
    // do something with std_id
});
于 2012-06-03T12:36:43.313 回答