0

省略形の if ステートメントを使用して、コンテンツにイタリック体のタグが含まれているかどうかを確認しています。

remove = (content.indexOf('<i>') === true) ? true : false;
alert("ORIGINAL CONTENT: " + content + "\nDoes content contain <i>? " + remove);

そのアラートがポップアップすると、次のように表示さ れます。

私は何を間違っていますか?

4

3 に答える 3

5

indexOf別の文字列内の文字列の位置を返し、見つからない場合は -1 を返します。strposPHPとは違います。content.indexOf('<i>') !== -1そのため、代わりに確認する必要があります。

あなたの場合、私は単に定義します

remove = content.indexOf('<i>') !== -1;

三項演算子 (私はこの名前でそれを知っていました) は、比較によって必要なブール値が既に得られているため、ここでは実際には必要ありません。

于 2012-06-08T08:41:20.363 に答える
0

正規表現の使用を検討しましたか?

remove = /<i>/.test(content);

訂正してくれたRobGに感謝します。

于 2012-06-08T08:46:19.743 に答える
0

ほとんどは他の回答でカバーされていますが、次のとおりです。

> content.indexOf('<i>') === true

String.prototype.intexOfは数値を返し、ブール値と比較されていることに注意してください。これらはタイプが異なるため、結果は常に false になります。等号演算子「==」が使用されていた場合、左側の式がゼロ (0) 以外の値を返した場合に true を返します。

ちなみに、イタリック体のテキストは、I 以外の要素を使用して実装できます。たとえば、CSS を介して適切なスタイルを適用した span 要素です。

于 2012-06-08T09:10:44.230 に答える