-3

<p>内の要素のリストがあり、いずれかのタグがクリックされたときに、を新しい<DIV>ものに置き換えたいと思います。<p><DIV><p>

<div class="list">
 <p onClick="replaceWithDiv">para one</p>
 <p onClick="replaceWithDiv">para two</p>
 <p onClick="replaceWithDiv">para three</p>
</div>

when the second <p> is clicked I want it to change to

<div class="list">
 <p onClick="replaceWithDiv">para one</p>
 <div>NEW DIV</div>
 <p onClick="replaceWithDiv">para three</p>
</div>

javacsriptでこれを行うにはどうすればよいですか?

4

2 に答える 2

3

このようなもの:

function replaceWithDiv(obj) {
    var div = document.createElement('div');
    div.innerHTML = 'NEW DIV';
    obj.parentNode.insertBefore(div, obj);
    obj.parentNode.removeChild(obj);
}​

HTML:

<p onclick="replaceWithDiv(this)">para one</p>

http://jsfiddle.net/dfsq/kcZYW/

于 2012-12-10T16:26:18.687 に答える
1

replaceChildを試してください

function replaceWithDiv() 
    var div = document.createElement("DIV");
    //...
    this.parentNode.replaceChild(div, this);
}


<p onclick="replaceWithDiv.call(this)">para one</p>
于 2012-12-10T16:25:55.300 に答える