获取元素数据为字符串,无需转换

时间:2016-02-18 01:45:00

标签: jquery

我想使用简单的html将元素数据作为字符串获取:

<div data-prefix="+43"></div>

和脚本:

$('#my_div').data('prefix'); /* Getting: 43 */

但我需要+,因为它是一个电话号码。已经尝试使用&#43;,但脚本(或浏览器?)仍然会转换为数字。有没有办法避免转换并控制我们需要什么样的数据?

我知道我可以使用以下方式获取文字:

$('#my_div').attr('data-prefix');

但我要问的是有一些类似的Javascript或jQuery方法:

$('#my_div').data('prefix', STRING); /* or */
$('#my_div').dataString('prefix'); /* or something else... */

编辑:

如果我检查DOM元素,我会看到element.dataset.prefix具有正确的值"+43"。另外,看看Josh Crozier的评论,看起来jQuery本身就像它喜欢的那样进行转换。

2 个答案:

答案 0 :(得分:1)

直接来自data()

的jQuery文档
  

要将值的属性检索为字符串而不尝试转换它,请使用attr()方法。

所以正确的方法是$('#theId').attr('data-prefix');

答案 1 :(得分:0)

我试试但是我得到了#34; + 43&#34;

&#13;
&#13;
$("#v").text($("#test").data('prefix'));
alert($("#test").data('prefix'));
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div data-prefix="+43" id ="test">asdf </div>
<a id="v"></a>
&#13;
&#13;
&#13;