1

だから私はこのようなことをする方法を知っていますが、私の .each(function() が実行されている要素が複数あります。「24時間営業」のスパンを含む.modulesのみがdivの変更をトリガーすることを確認する必要があります「ALWAYS OPEN」にすると、何が間違っているのかわかりません

if (thisTimeSet === 'Open 24 hours'){ 
    $(this).siblings("div").text("ALWAYS OPEN"); }

アプリの完全なデモ : http://jsfiddle.net/DxaV7/

ご協力いただきありがとうございます。

4

2 に答える 2

3

これを試して:-

ここでの問題は、同じテキストのスパンが多数あるため、===一致しないことです。indexOf を使用して、「常に開いている」ことを意味する alease one のインスタンスを見つけています。

if (thisTimeSet.indexOf('Open 24 hours') > -1) {
        $(this).find('.openOrNot').text("ALWAYS OPEN");
}

追加するもう1つのことは、.moduleその子の代わりに兄弟を見ていないことです.openOrNot。したがって、 を使用してピアを見るのではなく、find を使用して下降する必要がありますsiblings

デモ

編集:-コメントに従って、表示されているスパンのみを選択できます

var thisTimeSet = $(this).children("span:visible").text();

デモ

于 2013-05-21T01:05:36.447 に答える
0
if (thisTimeSet === 'Open 24 hours'){ 
    $(this).siblings("div:contains('ALWAYS OPEN')"); }
于 2013-05-21T00:58:05.520 に答える