0

我想列出一个 html 控件(无论是按钮、文本、单选还是复选框)具有的所有可能属性。借助此代码:

var attrs = $("#mybutton").attributes;
$.each(attrs, function(i, attrib)
{
  var name = attrib.name;
  var value = attrib.value;
});

我可以获得有值的属性列表。但我想要的不止这些,我需要能够列出所有可能的属性,而不仅仅是那些具有值的属性。谢谢你。


拥有一个包含一些动态创建的控件的页面,我想列出控件可以具有的所有属性(标准 + 可选):

$("#dropableDiv").delegate('.ui-draggable','click',function() 
{
    listAttributes(this.attributes);
});

但是,使用此 listAttributes 方法仅显示几个标准属性(在动态创建控件时指定的属性):

function listAttributes(attrs)
{
     $("#at").append("list of attributes:</br>");
     $("#at").append("<table>");

     $.each(attrs, function(i, attrib)
     {
     $("#at").append("<tr>");
         var name = attrib.name;
         var value = attrib.value;
         $("#at").append("<td>");
         $("#at").append(name);     
             $("#at").append("</td>");
         $("#at").append("<td>");
         $("#at").append('<input type="text" id="prop' + name + '" value="' + value + '" /></br>'); 
             $("#at").append("</td>");
     $("#at").append("</tr>");      
     });
     $("#at").append("</table>");

}   

例如:在输入类型按钮的情况下,列出这些属性:类型、值、id、样式、类。在输入类型文本的情况下,列出这些属性:类型、大小、id、样式、类

其他可选属性(尚无值)未列出。例如:大小、alingn、alt、只读、名称、已检查...

4

1 回答 1

0

这是一个简短的代码和演示

var attrs = $('div').get(0).attributes;
console.log($(attrs));
$(attrs).each(function(i,item)
              {
                   console.log(item.nodeName);
                  console.log(item.nodeValue);                  
              });
于 2012-07-17T19:21:51.700 回答