Вместо onclick
Здравствуйте! Помогите, пожалуйста. Приведенный ниже код, добавляет текст на страницу по клику на span, после элемента span.
<div class="raz">
<span>Здесь что-то</span>
</div>
<script>
document.querySelector('.raz span').onclick = function() {
var theDiv = document.createElement('div');
theDiv.innerHTML = 'HTML-содержимое';
this.parentNode.insertBefore(theDiv, this.nextSibling);
getComputedStyle(theDiv).opacity;
theDiv.style.opacity = '1';
}
</script>
Можно ли, чтобы он это делал без клика (onload не помогает)? |
Может так?
<div class="raz">
<span>Здесь что-то</span>
</div>
<script>
document.addEventListener('DOMContentLoaded',function() {
var theDiv = document.createElement('div');
theDiv.innerHTML = 'HTML-содержимое';
document.querySelector('.raz span').parentNode.insertBefore(theDiv, this.nextSibling);
getComputedStyle(theDiv).opacity;
theDiv.style.opacity = '1';
},false);
</script>
|
Да, спасибо, работает.
|
Только почему-то в том случае, когда я хочу поставить текст до spain заменяя this.nextSibling на this.previousSibling, не получается. Хотя по клику ставит:
<div class="raz">
<span>Здесь что-то</span>
</div>
<script>
document.querySelector('.raz span').onclick = function() {
var theDiv = document.createElement('div');
theDiv.innerHTML = 'HTML-содержимое';
this.parentNode.insertBefore(theDiv, this.previousSibling);
getComputedStyle(theDiv).opacity;
theDiv.style.opacity = '1';
}
</script>
Не подскажите почему? |
<div class="raz">
<span>Здесь что-то</span>
</div>
<script>
document.addEventListener('DOMContentLoaded',function() {
var theDiv = document.createElement('div');
theDiv.innerHTML = 'HTML-содержимое';
document.querySelector('.raz').insertBefore(theDiv,this.querySelector('span'));
getComputedStyle(theDiv).opacity;
theDiv.style.opacity = '1';
},false);
</script>
|
Спасибо!
|
| Часовой пояс GMT +3, время: 06:44. |