我对文本文档中的产品进行了规范,我需要将其转换为HTML。
可能听起来有点奇怪,但我想要做的是将段落标签替换为两个表格列,所以这个:
<p>Load (kg):5,000, 10,000, 20,000, 30,000</p>
<p>Excitation Voltage: 10vdc recommended, 20vdc maximum</p>
进入这个
<tr>
<td>Load (kg)</td>
<td>5,000, 10,000, 20,000, 30,000</td>
</tr>
<tr>
<td>Excitation Voltage</td>
<td>10vdc recommended, 20vdc maximum</td>
</tr>
要替换段落标记,我使用了函数bellow
$("p").each(function () {
$(this).replaceWith("<td>" + $(this).text() + '</td>');
});
所以我必须联系':'来关闭并关闭并打开另一个表数据(列)
任何帮助非常感谢
提前谢谢
的Dom
答案 0 :(得分:2)
这是特定于您的特定示例,并假设条件良好的数据。如果文本中可以有多个冒号,则需要调整使用split的limit参数将其限制为2个结果。
$("p").each(function () {
var text = $(this).text().split(':');
$(this).replaceWith("<td>" + text[0] + '</td><td>' + text[1] + '</td>');
});
答案 1 :(得分:1)
您可以使用split并将索引0值放在第一个td
中,并将索引1值放在第二个td
中。
像这样的东西
$("p").each ( function() {
var splitArr = $(this).text().split(':');
var str = "<table><tr><td>";
str+= splitArr[0] + "</td><td>";
str += splitArr[1] + "</td>";
str += "</tr></table>";
$(this).replaceWith ( str );
});
答案 2 :(得分:1)
最简单的方法可能是使用regExp:
$('p').each(function() {
$(this).replaceWith("<tr><td>"+$(this).text().replace(/\:\s?/, '</td><td>')+'</td></tr>');
})
还支持多个单元格并在冒号后剥离空格。