0

この h5 タグからお気に入り配列にデータをプッシュしようとしていますが、未定義が返され続けます。何かを返し、クリックすると機能しますが、未定義を返し続けます。

<h5 id="favoriteartist"> Armin van Buuren </h5>

そして、これが私のスクリプトです。

$('#favoriteadd').live('click',function() {
    var favorites = []
    favorites.push( $('h5 #favoriteartist').val() );
    console.log(favorites);
});

ここで何が間違っていますか?

4

2 に答える 2

7

セレクターが間違っています。簡単な使用:

$("#favoriteartist");

また、.textnotを使用する必要があり.valます。

favorites.push( $("#favoriteartist").text() );

また、jQuery 1.7+ を使用している場合は、.onnotを使用する必要があり.liveます。

$(document).on('click', '#favoriteadd', function() {
    var favorites = []
    favorites.push( $('#favoriteartist').text() );
    console.log(favorites);
});

document静的セレクターで変更できるようになりました。イベントがバインドされているときにドキュメントにある場合#favoriteaddは、通常のイベントとして簡単にバインドできます。

$('#favoriteadd').on('click', function() {
    var favorites = []
    favorites.push( $('#favoriteartist').text() );
    console.log(favorites);
});

h5 #favoriteartistは次のように言っています。

  1. ページ全体のすべての h5 要素を教えてください。
  2. ここで、id favoriteartistwitch がこれらの h5 の (孫の) 子であるすべての要素を教えてください。

html の id は常に一意であることがわかっているため、簡単に次のように言います。

  1. id の要素を教えてくださいfavoriteartist
于 2013-01-11T13:17:44.707 に答える
0

あなたのコードは undefined を返しません。要素が 1 つの配列を返します。要素はundefined、セレクターがh5値を持たない要素を選択していることを意味し、その選択の val() は未定義を返します。.val()などで使用できます。ユーザーが入力した値を取得するためのテキスト入力フィールド

<input type="text" id="t" value="..." />
...
$("#t").val(); //will return the value of the input element

h5 要素の場合、その要素のテキスト コンテンツを取得する場合は、.text()代わりに使用します。

$("#favoriteartist").text(); //will return " Armin van Buuren "
于 2013-01-11T13:19:07.693 に答える