使用 jquery 访问标签的属性

Access a label's attribute using jquery

本文关键字:属性 标签 访问 jquery 使用      更新时间:2023-09-26

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

假设$(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');
    }
}

引用:

  • j查询:
    • attr() .
    • find() .
  • JavaScript
    • element.getAttribute() .
    • node.nodeType .
    • tagName .
    • toLowerCase() .

使用 getAttribute

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

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

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

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

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

$.each($labels, function() {
    var std_id = $(this).attr('Std_Id');
    // do something with std_id
});

你可以这样使用 attr 方法,

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

编辑

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

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

假设this是该divdiv或父级

相关文章: