1

申し訳ありませんが、これは一種の奇妙な問題かもしれません:

既存のHTMLコードがありますが、その一部を直接編集または削除することはできません。問題は次のとおりです。このコードのdiv要素の中に、非表示にしたいテキストがあります。このdivの中には、非表示にしたくない別の要素もあります。これは次のようになります。

<div>
....Text I want to hide....
<table> ... Text I don't want to hide...</table>
</div>

私の質問:「隠したくないテキスト...」を非表示にせずに、「隠したいテキスト....」を非表示にすることはできますか?(たとえば、javascriptを使用しますか?)

4

3 に答える 3

3
var txt = div.childNodes[0];
var range = document.createRange();
range.selectNode(txt);
var span = document.createElement("span")
range.surroundContents(span);
span.style.display = "none";

ここでそれを参照してください:http://jsfiddle.net/KZVDf/

于 2012-11-21T22:49:59.023 に答える
0

テキストを削除したい場合は、次のように書くことができます。

div.removeChild(div.firstChild);

(ここで、divはこの要素を参照する変数です<div>)。

自由に非表示および再表示できるようにラップしたい場合<span>は、次のように記述できます。

var span = document.createElement('span');
div.insertBefore(span, div.firstChild);
span.appendChild(div.firstChild);

div以前と同じです)。

于 2012-11-21T22:54:43.487 に答える
0

非表示にしたいテキストを囲み、spanそれに設定しspan display:noneます。例:

<div>
<span style="display:none">....Text I want to hide....</span>
<table> ... Text I don't want to hide...</table>
</div>

または、スクリプトで非表示にして作成します。

$('div span').show(); // Show hidden text in span
$('div span').hide(); // Hide text in span
于 2012-11-21T22:56:53.643 に答える