3

私のJavaScriptコードには、次のような文字列が含まれています。

var html = "<div class='outer'><div id='inner'>lots more html in here</div></div>";

これを文字列に変換する必要があります

var html = "<div id='inner'>lots more html in here</div>";

私はすでにプロジェクトでjQueryを使用しているので、必要に応じてこれを使用して実行できます。

4

5 に答える 5

5

なぜこれらすべての不必要に複雑な答えですか?

//get a reference to the outer div
var outerDiv = document.getElementById('outerDivId');//or $('#outerDivId')[0];
outerDiv.outerHTML = outerDiv.innerHTML;

以上です。外側のHTMLを内側に設定するだけで、要素はなくなります。


あなたがHTML文字列を扱っていることを私は見落としていたので、最初にそれを解析する必要があります:

var tempDiv = document.createElement('div');
tempDiv.innerHTML = htmlString;
var outerDiv = tempDiv.getElementsByTagName('div')[0];//will be the outer div
outerDiv.outerHTML = outerDiv.innerHTML;

これで完了です。

于 2012-09-11T21:15:13.663 に答える
3

試す:

var html = "<div class='outer'>" 
         + "<div id='inner'>lots more html in here</div></div>";

html = $(html).html();

alert(html);

http://jsfiddle.net/TTEwm/

于 2012-09-11T21:07:19.830 に答える
2

試してください.unwrap()-

$("#inner").unwrap();
于 2012-09-11T21:07:18.233 に答える
0

html文字列が常に例のようになっている場合は、この単純なコードを使用できます

var html = "<div class='outer'><div class='inner'>lots more html in here</div></div>";
html = html.slice(19,-6)
于 2012-09-11T21:12:12.277 に答える
0

あなたはこのようなことをすることができます:

var html = "<div id='inner'>" + html.split("<div id='inner'>")[1].split("</div>")[0] + "</div>";

ただし、バリエーションに対する保護を強化することもできます(同じ規則を使用してコードを記述しないという悪い習慣がある場合)"inner"<DIV>

デモ

于 2012-09-11T21:21:06.227 に答える