HTML:
<a href="/u"><span>Text</span></a>
<a href="/u"><span><strong>Text</strong></span></a>
<a href="/u"><span><strong>Text</strong></span></a>
<a href="/u"><span>Text</span></a>
var strong = $('span strong'),
notstrong= $('span'),
a = $('a[href^="/u"]');
for(var i=0;i<a.length;i++){
var checkIt = strong ? strong : notstrong;
$(a[i]).find(checkIt).before('<span>Hello</span>');
}
結果は次のようになります。
<a href="/u"><span><span>Hello</span>Text</span></a>
<a href="/u"><span><span>Hello</span><strong>Text</strong></span></a>
<a href="/u"><span><span>Hello</span><strong>Text</strong></span></a>
<a href="/u"><span><span>Hello</span>Text</span></a>
実際の結果:
<a href="/u"><span>Text</span></a>
<a href="/u"><span><span>Hello</span><strong>Text</strong></span></a>
<a href="/u"><span><span>Hello</span><strong>Text</strong></span></a>
<a href="/u"><span>Text</span></a>
何らかの理由で、条件演算子が false ステートメントを返していません。以前に間違ったセレクターを使用していたように、それまたはコーディングが間違っています。本当?条件演算子が正しくない理由が気になります。私は条件演算子が初めてなので、常に true を返すか、正確にはわかりません。