10

私はデータを取得しようとしています-*jQueryを使用します。私の問題は、jQueryが数値の文字列を数値として読み取り、先行ゼロを削除することです。

HTML

<tr data-string-number="0123456789">... (website layout, jk) ...</tr>

jQuery 1.7.2

var string_number = $('#selector').data('string-number');
// string_number == 123456789
// string_number != '0123456789'

十分に単純に見えますが、これは常に先行ゼロを削除します。

data-string-numberは常に数値になり、先行ゼロがある場合とない場合があります。現在は標準の長さですが、それが当てはまるかどうかは現時点ではわかりません。

現在の唯一の考えは、接頭辞として非数値を付けて、すぐに削除することです。これはハッキーな感じで、私は悲しくなります。

どんな考えでもありがたいです。

ありがとう。

4

4 に答える 4

22

これを使って:

$('#selector').attr('data-string-number')

この方法は、設計により.data()データ変換を行います。このメソッドは、属性をそのまま(文字列として)返すだけです。使用するときは、プレフィックスを含む属性のフルネームを指定する必要があることに注意してください。.attr().attr()"data-"

于 2012-04-18T23:01:46.917 に答える
4

私はこれが古いことを知っていますが、データに文字列としてアクセスするために.attr()を使用する代わりに2つの方法があります。

<!-- Force a String by breaking the parser Remove Quotes later
or Use Object Below -->
<li data-tmp='"0123456789"'>Data as a String: </li>
<li data-tmp='{"num":123456789,"str":"0123456789"}'>Data as a Object: </li>

これで、jQuery .data()メソッドを使用してそれらにアクセスできます。

http://jsfiddle.net/KUrJ2/を説明するには、このフィドルを参照してください。

于 2013-02-04T09:16:03.803 に答える
1

標準attr()アクセサーで属性を取得します。

jQueryは、属性で使用するときにタイプを推測して変換しようとます。私たちが知っているように、先頭のは重要ではありませんが、ではありません。data()data-*0NumberString

于 2012-04-18T23:02:15.430 に答える
0

jquery attr()を使用する

http://jsfiddle.net/duerq/

于 2012-04-18T23:03:45.467 に答える