jQuery,获取标记属性并将它们分配给变量

时间:2016-08-30 16:07:00

标签: jquery

如何将变量的属性添加到变量中,以便将其插入其他位置?

因此输入标记应该赋值变量:

tags = { 'type' : 'submit' , 'id' : 'submit' };

我知道您可以使用.attr()添加属性,但类似

testMe = $("#submit").attr(); 

不起作用。

2 个答案:

答案 0 :(得分:1)

您可以通过element.attributes循环获取所有属性,如:

$.each(document.getElementById("submit").attributes, function() {
    tags[this.name] = this.value;
});

希望这有帮助。



var tags = {};

$.each(document.getElementById("submit").attributes, function() {
    tags[this.name] = this.value;
});

console.log(tags);

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="submit" value="Submit" id="submit"/>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

您可以使用以下命令将节点的属性映射到对象:

var obj = {};
Array.from(node.attributes).forEach(function (attr) {
  obj[attr.name] = attr.value;
});

在jQuery中,您可以通过.map()进行映射:

$(..selector..).map(function () {
  var obj = {};
  $.each(this.attributes, function () {
    obj[this.name] = this.value;
  });
  return obj;
});

您最终得到的是包含每个节点属性的对象集合。

然后,您可以使用.get()访问单个节点的属性。