0

リストがあり、最後の要素の背景の値を取得したいと考えています。

    <ul>
        <li style="background: red;"></li>
        <li style="background: blue;"></li>
        <li style="background: yellow;"></li>
        <li style="background: white;"></li>
    </ul>

このjQueryスクリプトを使用します

var color = $( 'ul li' ).get(-1).css('background');

しかし、それは機能していません。私はそれをグーグルで検索しましたが、何も見つかりませんでした。
誰でも問題を見つけるのを手伝ってくれませんか。

編集済み:これは IE では機能していません。私は間違っています。でも他に方法はないの?

$( 'ul li:last' ).css('background');
4

4 に答える 4

2

上記のすべての回答は、おそらく空の文字列を出力します。

チェックしてください:

var color = $('ul li').eq(-1).css('background-color');

実際には、背景自体ではなく、背景色を設定しています。

証明する JsFiddle: http://jsfiddle.net/7gxkp/

于 2013-10-02T18:20:47.633 に答える
2

できるよ:

 var color = $( 'ul li:last' ).css('background');

理由はget(-1)、css メソッドを持たない DOM 要素を返すことです。css は、ネイティブ DOM 要素ではなく、jquery オブジェクトのメソッドです。

または行う:

var color = $( 'ul li' ).get(-1).style.background;

jqueryも使える.last()

 var color = $( 'ul li' ).last().css('background');

jquery css が使用するgetComputerStyleため、色だけでなく、要素のすべての背景プロパティ (ユーザー エージェントによってもデフォルト設定) を取得する可能性があることに注意してください。jquery を使用して色だけが必要な場合は、明示的cssに指定することをお勧めします.css('background-color')

于 2013-10-02T18:13:03.003 に答える
2

コードが機能しない理由get()は、関数を持たない DOM ノードを返すためcss()です。あなたはこれを探しています:

$( 'ul li' ).eq(-1).css('background');
于 2013-10-02T18:14:50.760 に答える
1

get の使用法についてはわかりませんが、jquery で CSS セレクターを使用して次のようにすることができます

var color = $( 'ul li:last-child' ).css('background');

もっとシンプルにすべきです!これがうまくいくかどうか教えてください!:)

于 2013-10-02T18:13:43.137 に答える