2012-03-15 7 views
13

身体に必要な情報を自動的に入力する電子メールリンクを作成しました。しかし、私が.innerHTMLをしたとき、私は私が交渉した以上のものを手に入れました。htmlを使わないinnerHTML、テキストのみ

私は、 "2012年3月:12-16" 欲しい

私は<B>March, 2012</B>: <FONT color=blue>12</FONT> - <FONT color=blue>16</FONT>

は、htmlタグなしinnerHTMLプロパティを取得する方法ですが何を得ますか?標準をサポートしているブラウザで

.value = undefined 
.text = undefined 
+0

私はそこにinnerTextプロパティがあると思います... –

+0

'textContent' ... –

+1

http://stackoverflow.com/questions/822452/strip- html-from-text-javascript –

答えて

27

IEの場合は、IEの場合は.innerTextが必要です(< 9)。だから、

、試してみてください。

string = (node.textContent===undefined) ? node.innerText : node.textContent;

をEDIT:または、undefinedがfalsyあるので、ちょうど、GGGのよりクリーンstring = (node.innerText || node.textContent)を使用しています。

+2

what ... '(node.innerText || node.textContent)'。彼らはまったく同じではありません... –

+0

GGGとは誰ですか?自我を変える? – Stanislav

+0

@Stanislav http://web.archive.org/web/20120927230726/http://stackoverflow.com/questions/9727111/innerhtml-without-the-html-just-text#answer-9727182([私が表示名を変更すると、その変更はコメントに反映されますか?](http://meta.stackexchange.com/questions/59884/if-i-change-my-display-name-will-the-change-reflect-in-コメント)) – apsillers

4

、あなたはtextContentの代わりinnerHTMLを使用することができます。それ以外の場合は、次のノードをループして連結したり、このアプローチを抽象化したjQueryのようなライブラリを使用したりすることができます。

+0

会社はIEの古いバージョンを使用しており、textContentは未定義を返します。 innerTextは正常に機能しました。 innerTextを使用すべきではない理由はありますか? – cphilpot

+0

'innerText'はちょうど' textContent'ではありません。 IE専用の環境で作業しなければならない場合は、それを使用しても害はありません。標準ではありません。ここでのヒント:http://msdn.microsoft.com/en-us/library/ms533899(v=vs.85).aspx – ZER0

0

あなたはすでにあなたが(.textセクションを使用することができ、jQueryのを使用している場合):

http://jsfiddle.net/vkgYR/

あなたががそれを使用していない場合、それはに愚かなことであろうから、あなただけの他のコメントと一緒に行く必要がありますすべてのjQueryを.text()メソッドのためにロードしてください

関連する問題