javascript - 在JavaScript中,如何抓取文本元素,移除元素,并组织为UL

129 2

我无法在页面上正确显示一条闪烁的消息,因此我正尝试通过JavaScript对它进行更改。页面最终呈现如下:


<div class="alert-error">


 <a class="close" data-dismiss="alert">x</a>


"


 Row 1: Name can't be blank, City can't be blank, State can't be blank; Row 2: Address can't be blank, Email can't be blank


"


</div>



我想要做的是抓取文本而不是链接,然后更改为无序列表。

我尝试了以下:


var alpha = document.getElementsByClassName('alert-error')[0].innerText;


alpha.replace(/;/g, 'n');


alpha.split(';').join('n');


alpha.replace(/;/g, '<br>');



它可以在控制台中工作,但是当我尝试渲染页面时不起作用。我还尝试了:


function newLine(){


 var alpha = document.querySelectorAll('alert-error');


 alpha.forEach(item => {


 item.innerHTML = item.innerText || item.textContent


 item.innerHTML.replace(/;/g, 'n');


 });


};


window.onload = newLine;



最终我想看到的是

  • 第1行:name 不能为空,city 不能为空,state 不能为空,
  • 第2行:Address 不能为空,email 不能为空,

所需的HTML :


<div class="alert-error">


 <a class="close" data-dismiss="alert">x</a>


 <ul>


 <li>Row 1:Name can't be blank, City can't be blank, State can't be blank</li>


 <li>Row 2:Address can't be blank, Email can't be blank</li>


 </ul>


</div>



如何从div获取文本元素,将标记输出,然后将文本元素从分号转换为新行/无序列表。

时间: 原作者:

99 0

我已经为你fiddle了,https://jsfiddle.net/djqp8b6f/

代码解析div的文本,用;分割,然后在每个迭代中执行for loop附加li项。

原作者:
...