2 回答

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超6個(gè)贊
您可以使用以下方法創(chuàng)建.rib并將其插入到文檔中:
insertBefore()
工作示例:
// Create rib
const rib = document.createElement('div');
rib.classList.add('rib');
rib.innerHTML = `
<p class="ribParagraph">
<marquee class="ribMarquee" behavior="scroll" direction="left">My text</marquee>
</p>
`;
// Insert rib into document
const header = document.getElementsByTagName('header')[0];
const inner = document.getElementsByClassName('inner')[0];
header.insertBefore(rib, inner);
// Add Event Listeners to ribMarquee
const ribMarquee = document.getElementsByClassName('ribMarquee')[0];
ribMarquee.addEventListener('mouseover', (e) => e.target.stop(), false);
ribMarquee.addEventListener('mouseout', (e) => e.target.start(), false);
.rib {
font-size: small;
font-family: helvetica
}
.ribParagraph {
color: #ffffff;
background-color: green;
}
<header>
<div class="inner">123....................</div>
<div class="inner-1">123....................</div>
<header>

TA貢獻(xiàn)1890條經(jīng)驗(yàn) 獲得超9個(gè)贊
定義htmlString時(shí),使用模板文字語法,用重音符 (```) 包裹整個(gè)字符串。
.append()
在目標(biāo)元素內(nèi)容之后插入在.prepend()
內(nèi)容之前插入。一個(gè)更好的方法是
.insertAdjacentHTML()
。它的第一個(gè)參數(shù)確定相對(duì)于目標(biāo)元素的位置,第二個(gè)參數(shù)是一個(gè) htmlString,用于插入并呈現(xiàn)到真實(shí)的 HTML 中。例子
<div class='target'> TEXT <b>TEXT</b> </div>
<script>
/*
position can be "beforebegin", "afterbegin", "beforeend", or "afterend"
(see next sample code)
*/
const htmlString = `!!!<u>INSERTED HTML</u>!!!`;
document.querySelector('.target').insertAdjacentHTML(position, htmlString);
</script>
位置
<!-- "beforebegin" = Externally inserts html before the target -->
!!!<u>INSERTED HTML</u>!!!<div class='target'> TEXT <b>TEXT</b> </div>
<!-- "afterbegin" = Internally inserts html before the target content -->
<div class='target'>!!!<u>INSERTED HTML</u>!!! TEXT <b>TEXT</b> </div>
<!-- "beforeend" = Internally inserts html after the target content -->
<div class='target'> TEXT <b>TEXT</b> !!!<u>INSERTED HTML</u>!!!</div>
<!-- "afterend" = Externally inserts html after the target -->
<div class='target'> TEXT <b>TEXT</b> </div>!!!<u>INSERTED HTML</u>!!!
演示
const htmlString = `<div style="font-size: small; font-family: helvetica" class="rib">
<p style="color: #ffffff; background-color: green;"><marquee behavior="scroll" direction="left" onmouseover="this.stop();" onmouseout="this.start();">My text </marquee></p>
</div>`;
document.querySelector('.header').insertAdjacentHTML('afterbegin', htmlString);
<div class="header">
<div class="inner">123....................</div>
<div class="inner-1">123....................</div> etc
</div>
添加回答
舉報(bào)