1

JavaScript関数のこの値を取得しようとしています

<a href="#" id="like" name="like" data-value="<?php echo $_GET['id'];?> " onclick="like(); return false;">
                <img src="<?php echo $ROOT. "/assets/images/templates/like.png"?>" class="aligncenter" alt="" /></a>

データ値であるIDを取得したいと思います。

などのjqueryセレクターを使用してみましvar id = $('a[data-value]').attr();たが、明らかに間違っています。

どんな助けでも大歓迎です。

4

4 に答える 4

5

プレーンな JavaScript には、 getAttribute()datasetの 2 つのバリアントがあります。

var el = document.getElementById( 'like' );
el.getAttribute( 'data-value' ); 
el.dataset.value;

これにもjQueryでタグ付けしたので、data()または を使用できますattr()

$( '#like' ).data( 'value' );
$( '#like' ).attr( 'data-value' );

を使用data()すると、値を読み取ることはできますが、更新することはできません! HTML要素のフィールドで初期化されるだけで、それらを更新しないdata()jQueryデータオブジェクトを参照します!data-

于 2013-09-23T14:00:13.250 に答える
3

jQuerydata()は data 属性を取得します (ただし、設定はしません):

var id = $('#like').data('value');

またはプレーンJS

var id = document.getElementById('like').getAttribute('data-value');
于 2013-09-23T13:55:08.923 に答える
3

.data()を使用

var id= $('#like').data('value');

.data() 一致した要素に関連付けられた任意のデータを保存します

于 2013-09-23T13:55:49.920 に答える
2

dataデータ属性を取得するには、次を使用する必要があります。

var id = $('a[data-value]').data('value');

または、a要素にid:

var id = $('#like').data('value');

を使用できますattr()が、これは DOM 要素に関連付けられた属性のみを取得dataするため、良い習慣とは見なされないことに注意してください。jQuery を使用して追加されたデータ属性は、データ キャッシュにのみ表示され、使用data()できるため、この方法では取得できません。

var id = $('#like').attr('data-value');
于 2013-09-23T13:55:12.590 に答える