因此,我试图将JavaScript应用于Html表中的整个列。
以下是我的脚本(请忽略第一个daterange函数,但我想显示完整的代码):
我要做的就是在表格的“消息”行中的每个逗号后面添加一个换行符。知道我要去哪里错了吗?谢谢。
<script type="text/javascript">
$(function() {
$('input[name="daterange"]').daterangepicker({
singleDatePicker: true,
locale: {
format: 'YYYY-MM-DD'
}
});
function formatMessage() {
var yourString = document.getElementById('msg').value;
var formattedText = yourString.split(",").join("\n");
$('msg').html(formattedText);
};
});
</script>
以下是相关的HTML:
<table class="table table-striped jambo_table bulk_action">
<thead>
<tr class="headings">
<th class="column-title">Message</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="statement in statements track by $index">
<td class=" " id="msg" style="display:none;">{{statement.msg}}</td>
<td class=" ">{{statement.msg}}</td>
</tr>
</tbody>
</table>
最佳答案
首先,
var yourString = document.getElementById("msg").value;
不是获取“ td”标签值的正确方法。
您应该做这样的事情。
var yourString_obj = document.getElementById("msg");
var yourString_text = yourString_obj.innerHTML;
要么
var yourString = document.getElementById("msg").innerHTML;
为了分割文本并插入新行,您应使用以下功能。
split()join()
和使用
<br>
用于在文本中添加新行。
以下应该可以解决您的问题。
function formatMessage() {
var yourString = document.getElementById("msg").innerHTML;
var formattedText = yourString .split(",").join(",<br>");
document.getElementById("msg").innerHTML = formattedText ;
};
});