1

特定のコメント行をキャプチャしようとしています。次のコードは、もちろんIEを除くすべてのブラウザで問題なく機能します。

<script>
var llf = jQuery('.select').contents().filter(function() {
return this.nodeType === 8 // Comment node
})[2].nodeValue.replace("LLF: ", "").trim();
console.log(llf);
alert(llf);
</script>

そしてこれはHTMLです:

<td class="select" nowrap="nowrap" rowspan="3">
<!-- NON IDEAL REASON:  1 hour time window -->
<b>$423.59</b><br />
<b>&#163;267.50</b><br />
<!--  Policy Name: Investment Bank -->
<!--LLF: 1253.12 --> //This is the line I want to capture

すべてのブラウザでそれを行う方法があれば素晴らしいですが、IE +条件付きコメントの特定の解決策を考えることができれば、それも問題ありません。

ありがとう!

4

1 に答える 1

1

IEにはString#trim、ES5 で最近導入されたばかりの がないため、使用しようとすると例外がスローされます。jQuery.trimただし、jQuery を使用しているので、代わりに使用できます。

var llf = jQuery.trim(jQuery('.select').contents().filter(function() {
    return this.nodeType === 8; // Comment node
})[2].nodeValue.replace("LLF: ", ""));
console.log(llf);
alert(llf);

ライブコピー| ソース- IE7 と IE9 で動作するので、IE8 も想定しています。


そのステートメントを少し分解することをお勧めします (特に、このような問題はデバッグしやすくなります)。. の後にセミコロンを含め=== 8ます。

于 2012-06-01T13:29:36.643 に答える