HTML标记上的数据属性值被读取为数组而不是字符串

时间:2014-10-02 17:57:46

标签: javascript jquery html

我的HTML中有一个span标记...

<span id="span0" data-input="[1, 2, 3]">span tag 0</span>

当我用jQuery读取input属性时......

inputString = $("#span0").data("input");

...变量inputString是一个包含三个元素的数组。如何读取输入属性,使其存储为字符串“[1,2,3]”,而不是数组?

提前感谢您的智慧!

2 个答案:

答案 0 :(得分:3)

使用attr()方法如下:

inputString = $("#span0").attr("data-input");

&#13;
&#13;
inputString = $("#span0").attr("data-input");
alert(typeof inputString);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span id="span0" data-input="[1, 2, 3]">span tag 0</span>
&#13;
&#13;
&#13;

答案 1 :(得分:2)

你可以试试vanilla-js。它速度更快,并且它不会在字符串上解析字符串。

例如,使用其中一个:

document.getElementById('span0').dataset.input;
document.getElementById('span0').getAttribute('data-input');

&#13;
&#13;
console.log(document.getElementById('span0').dataset.input);
&#13;
<span id="span0" data-input="[1, 2, 3]">span tag 0</span>
&#13;
&#13;
&#13;