0

ページにいくつかのli要素があります:

<li value="a">a</li>
<li value="b">b</li>
<li value="c">c</li>
<li value="d">d</li>

ホバーしたときにvalueプロパティを取得したい:

$(function () {
    $('li').live('mouseover', function () {
        console.log($(this).prop('value'));                             
    })
});

しかし、結果は常に0です、それから私はattr()方法を試します、それはまだうまくいきません、どうすればこの問題を解決できますか?

4

5 に答える 5

0

livalue要素にはプロパティがありません。

要素に対して独自のメタデータを保存するには、HTML5data-*属性を使用する必要があります。

<li data-value="a">a</li>
<li data-value="b">b</li>
<li data-value="c">c</li>
<li data-value="d">d</li>

次に、jquery.data()メソッドを使用してそれらを取得します。

$(function () {
    $('li').live('mouseover', function () {
        console.log($(this).data('value'));                             
    })
});
于 2012-05-31T09:35:14.023 に答える
0

うーん、私はこれをフィドルで複製しましたが、どちらを使用しても機能しません.val。おそらくvalue、フォームフィールド専用に設計されているためです。value解決策は、次のようにデータ属性に変更することです。

<li data-value="a">a</li>
<li data-value="b">b</li>
<li data-value="c">c</li>
<li data-value="d">d</li>​

$(function () {
    $('li').live('mouseover', function () {
        alert($(this).data("value"));                             
    });
});​

このフィドルを試してください

于 2012-05-31T09:36:41.647 に答える
0

<li>要素はvalue属性を持つことができません。独自のカスタム アトリビュートを定義する場合は、プレフィックス を付けdata-ます。

<li data-value="a">a</li>
<li data-value="b">b</li>
<li data-value="c">c</li>
<li data-value="d">d</li>

次に、JavaScript コードで名前を変更します。

$(function () {
    $('li').live('mouseover', function () {
        console.log($(this).prop('data-value'));                             
    });
});

data-jQuery では、 を使用して属性に簡単にアクセスすることもできます$.data()

        console.log($(this).data('value'));
于 2012-05-31T09:38:23.087 に答える
0

代わりにこれを行うことができます

$(function () 
{
    $('li').hover( function () {
        console.log($(this).attr('value'));                             
    })
});
于 2012-05-31T09:41:27.860 に答える
0

動作確認済み!!

$(function ()
{
    $('li').hover( function () {
        alert($(this).text());                             
    })
});
于 2012-05-31T09:54:33.547 に答える