简体   繁体   English

JavaScript,Tampermonkeys-如何用HTML元素中的字符串组成数组?

[英]JavaScript, Tampermonkeys - how to make an array out of strings in an HTML element?

I want to convert the names of months into numbers and store the month in a table's cell on a webpage. 我想将月份的名称转换为数字并将月份存储在网页上表格的单元格中。 I figured having it as an array would let me refer to the month names by their array numbers and I could insert table tags before and after them. 我认为将其作为一个数组可以让我通过它们的数组编号来引用月份名称,并且可以在它们之前和之后插入表格标签。 I got as far as replacing the month names: 我可以替换月份名称:

var dates = document.getElementsByClassName("date");
    for(var i = 0, l = dates.length; i < l; i++)
    {
        var date = dates[i];
        date.innerHTML = date.innerHTML.replace('Aug', '08');
    }

The relevant html segment looks like 相关的html段看起来像

<span class="date">Mon&nbsp;2017.&nbsp;Aug&nbsp;28&nbsp;15:25:13</span>

which I'd like to turn into 我想变成

<span class="date"><table><tbody><tr><td>Mon&nbsp;</td><td>2017.&nbsp;08&nbsp;28&nbsp;15:25:13</td></tr></tbody></table></span>

if you can use "& nbsp;" 如果可以使用“&nbsp;” as split "Character", try something like this. 作为拆分的“字符”,请尝试这样的操作。

 var dates = document.getElementsByClassName("date"); for(var i = 0, l = dates.length; i < l; i++) { var table = document.createElement("table"); var tbody = document.createElement("tbody") var tr = document.createElement("tr"); var date = dates[i]; var string = date.innerHTML.replace('Aug', '08.'); var split = string.split("&nbsp;"); for(var j = 0; j < split.length; j++){ var td = document.createElement("td"); td.appendChild(document.createTextNode(split[j])); tr.appendChild(td); } date.innerHTML=""; tbody.appendChild(tr); table.appendChild(tbody); date.appendChild(table); } 
 <span class="date">Mon&nbsp;2017.&nbsp;Aug&nbsp;28&nbsp;15:25:13</span> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM