【发布时间】:2014-10-21 10:40:53
【问题描述】:
以下代码:
<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"}
如何获得后者?
【问题讨论】:
-
作为注释,尽量在每条语句的末尾使用分号
-
我一直在虔诚地使用分号,直到我发现它们在 javascript 中完全是可选的。现在我很高兴从不使用它们,因为我不必这样做。
-
它们并不总是可选的,在某些情况下它们不是可选的。因此,始终使用它们是一个好习惯。你应该检查这个答案:stackoverflow.com/a/1169596/3645944
-
感谢您指出这一点。这很微妙,但在这种情况下肯定会激发分号。如果我用这种方式编写任何带有函数的代码,我会记住它。
标签: javascript jquery json attr stringify