1

ページの読み込み時に ( <a>insideのタイトル属性に従って) 要素を選択し、選択した要素以外の残りのリスト要素を削除する必要があるリストがあります。<li>

これを使用して:

$("#div").find("a[title='Previous Page']").not(this).remove();

動いていない。

http://jsfiddle.net/ymhrF/16/

4

3 に答える 3

1

私が従うロジックは次のとおりです。

  • すべてのリスト要素を取る ( li)
  • a指定されたタイトルを持つ子を持たないものを選択します (これはfilter、慣れ親しむことをお勧めする方法を使用すると非常に簡単です)
  • 選択したものを削除

この計画を達成する 1 つの方法は次のとおりです。

$('#list li')
    .filter(function () {
        return !$(this).has('a[title="Previous Page"]').length;
    })
    .remove();

フィルタリング関数はさまざまな方法で記述できます (セレクターのfind()代わりにhas()使用するか、ある種の組み合わせセレクターを使用します) filter()。これにより、コードが読みやすくなり、実際に何が起こっているかを非常によく説明できます。

jsFiddle デモ

于 2011-12-23T10:14:27.623 に答える
0
$("#custom_pagination").find("a").not('[title="umm"]').parent('li').remove();

1行のコードとして保持したい場合。

于 2011-12-23T10:14:27.470 に答える
0
$("li")
    .each(function(){
        if( $(this).find("a").is("[title='yourTitle']") ){
            $(this)
                .siblings()
                .remove();
        }
    });

または、もう少し簡単に行うこともできます。

$("li")
    .find("a[title='yourTitle']")
    .parent()
    .siblings()
    .remove();

ただし、これは、タイトル属性(または探しているタイトル)がある単一のaタグがある場合にのみ機能します。yourTitle

于 2011-12-23T10:09:23.610 に答える