0

私は、postgres と php の while コマンドから生成された動的な順序付けられていないリストを持つ jquery モバイル サイトを持っています。

ページの準備ができたら、各リスト ブロックを調べて、その中のテキストを読み、span class="status"それが「D」に等しい場合は、関連class='edit_btn'するポップアップ メニューを非表示にするにはどうすればよいですか。

これはjQueryで達成できると思いますか?

私の質問を説明するのに役立つ私の例を見てください。 http://jsfiddle.net/jamesil/wbcVy/1/

これは私がこれまで行ってきたことですが、間違った方向に向かっていると信じています

$('ul.bookings li').each(function() {
$(this).each(function(i) {
    var status = $('span.status',this).text();
    if (status = 'D') 
        $('ul.bookings ul li.edit_btn').hide();
});
4

1 に答える 1

1

このフィドルで説明されているように、無効な html の問題を修正すると、次の jQuery を使用して編集ボタンを非表示にすることができます。

$('#bookings li').filter(function() {
    return $(this).find('span.status').text() == 'D';
}).find('div').each(function() {
    //this is the bit where you need to find the id from the comment inserted by mobile jquery
    var divId = '#' + this.innerHTML.replace(/[^0-9]+/g, '') + '-popup';
    $(divId).find('li.edit_btn').hide();
});

これは、li に div が 1 つしかないことを前提としていることに注意してください。その div にクラスを与えて、検索でより良いセレクターを実行できるようにすることもできますが、元の ID が削除されたように見えるため、jQuery モバイルがクラスを削除するかどうかはわかりません

html 構造を変更できない場合は.find.next

于 2013-06-19T08:29:13.313 に答える