出现在文本后的Javascript插入

时间:2011-04-01 16:30:20

标签: javascript string object

我是一个完整的菜鸟,所以我可能完全错了。我想要做的是在帖子上显示第一个XXXXXXXX后完全插入</a>。我尝试过转换</a>字符,但我不能让它在任何浏览器上运行。任何帮助,将不胜感激。

<div expr:id="aim1" + data:post.id'/>
<div style='float:right; padding:0 0 10px 10px ;'>

XXXXXXXX

</div>


<div expr:id="aim2" + data:post.id'>

   <data:post.body/>

</div>

<script type='text/javascript'>
var obj0=document.getElementById("aim1<data:post.id/>");
var obj1=document.getElementById("aim2<data:post.id/>");
var s=obj1.innerHTML;
var r=s.indexOf("</a>");
if(r > 0) {obj0.innerHTML=s.substr(0,r);obj1.innerHTML=s.substring(r+3);}
</script>
</p>

1 个答案:

答案 0 :(得分:1)

给出以下HTML:

<div id="payload">
XXXXXXXX
</div>

<div id="target">
    <br /><br /><br /><br />
   Content within the target.
   <a href="">Anchor</a>
</div>

以下JavaScript代码会将payload div移到target div中的第一个锚标记之后。

function insertAfter(addition,target) {
    var parent = target.parentNode;

    if (parent.lastChild == target) {
        parent.appendChild(addition);  
    } else {
        parent.insertBefore(addition,target.nextSibling);
    }
}

var payload = document.getElementById("payload");
var target = document.getElementById("target");

var anchors = target.getElementsByTagName("a");

if (anchors.length > 0) {
    insertAfter(payload,anchors[0]);
}

Tested @ jsfiddle.