Вставка Javascript после </a> появляется в тексте - PullRequest
2 голосов
/ 01 апреля 2011

Я полный нуб в этом, так что я могу ошибаться. Что я хочу сделать, это вставить 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 Ответ

1 голос
/ 01 апреля 2011

С учетом следующего 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]);
}

Проверено @ jsfiddle.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...