如下代码:
<div id='idiv' name='ndiv'>
<script>
var attrs = $('#idiv').attr({})
var astr = JSON.stringify(attrs)
console.log (astr)
</script>
在控制台中产生:
{"0":{},"length":1,"context":{"location":{}},"selector":"#idiv"}
为什么没有结果:
{"id":"idiv","name":"ndiv"}
我如何获得后者?
最佳答案
尝试这个:
<div id='idiv' name='ndiv'>
<script>
var attrMap = $('#idiv')[0].attributes;
var attrs = {};
$.each(attrMap, function(i,e) { attrs[e.nodeName] = e.value; });
console.log(attrs); // Object {id: "idiv", name: "ndiv"}
console.log(JSON.stringify(attrs)) // {"id":"idiv","name":"ndiv"}
</script>
小提琴:http://jsfiddle.net/xbuhbqux/
关于javascript - 无法使用jQuery的attr()获得div属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25534048/