24

jsfiddleでこの簡単な例を確認してください

<div id ="a" data-siteid="00005">00005 turns into:</div>
<div id="b" data-siteid="S00005">S00005 turns into: </div>

コード

$('#a').append($('#a').data("siteid"));
$('#b').append($('#b').data("siteid"));

結果

00005 turns into:5
S00005 turns into: S00005

「00005」と「S00005」を返却したいのですが。

4

3 に答える 3

38

試す

$('#a').append($('#a').attr('data-siteid'));
$('#b').append($('#b').attr('data-siteid'));

jQueryドキュメントから

文字列をJavaScript値(ブール値、数値、オブジェクト、配列、およびnullを含む)に変換しようとするたびに試行されます。それ以外の場合は、文字列のままになります。変換を試みずに値の属性を文字列として取得するには、attr()メソッドを使用します。

于 2012-04-24T11:33:50.173 に答える
4

文字列をJavaScript値(ブール値、数値、オブジェクト、配列、およびnullを含む)に変換しようとするたびに試行されます。それ以外の場合は、文字列のままになります。変換を試みずに値の属性を文字列として取得するには、attr()メソッドを使用します。

ここから:http://api.jquery.com/data/#data-html5

于 2012-04-24T11:35:07.477 に答える
-2

これは少し古い投稿ですが、これにアプローチする別の方法は、データ属性値を文字列に変換することです。

$('#a').data("siteid").toString()

また

$('#a').data().siteid.toString()

これがどのように機能するかのいくつかの例:

> (12345).toString()
"12345"

> (14.5).toString()
"14.5"

> (-14.5).toString()
"-14.5"

> "bob".toString()
"bob"

> (true).toString()
"true"

> ({a: "b"}).toString()
"[object Object]"

>(function(){console.log("bob")}).toString()
"function (){console.log("bob")}"

#toString例の括弧は、変数の割り当てを避けるためにあります。これは、数値を直接使用することはできないためです123.toString()。ただし、変数に割り当てられた場合、または括弧で囲まれた場合は使用できます(123).toString()

nullまたはundefinedを文字列に変換できないことを覚えておいてください。

また、配列と未定義のnull値で何か面白いことが起こります。

> (["bob", 123, true, null, undefined, this]).toString()
"bob,123,true,,,[object Window]"
于 2017-01-04T03:31:59.690 に答える