因此,我试图将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 ;
};


});

09-10 10:42
查看更多