我正在使用SharePoint页面。我只想显示日期,而不是显示驻留在td类ms-vb2元素中的时间。
这是HTML的一个示例 enter image description here
<tr class="ms-itmhover" iid="8,__bg40001300,0" setedgeborder="true">
<td class="ms-vb-itmcbx ms-vb-firstCell">
<td class="ms-vb-title" height="100%" onmouseover="OnChildItem(this)">
<td class="ms-vb-title" height="100%" onmouseover="OnChildItem(this)">
<td class="ms-vb2">320 Western Blvd Suite 102</td>
<td class="ms-vb2">Glastonbury</td>
<td class="ms-vb2">No</td>
<td class="ms-vb2">2/5yr</td>
<td class="ms-vb2">
<nobr>7/30/2014 8:00 PM</nobr>
</td>
以下是我尝试使用的jquery脚本示例,但它无效。因为我有几个元素使用相同的td类,我试图只选择其文本中仅包含8:00 PM的类。
<script src=".. .."></script>
<script language="javascript">
_spBodyOnLoadFunctionNames.push("RemoveTime");
function RemoveTime(){
$("td.ms-vb2:contains(8:00 PM)").substr("",11);
}</script>
它没有用,但是如果我想要突出显示所有具有相同td类的元素并且包含晚上8点的时间,我可以在上面的脚本中使用它:
$("td.ms-vb2:contains(8:00 PM)").css("background-color", "yellow");
但这不是我想要的效果。我想只显示DD / MM / YYYY。有人可以提供一些帮助吗?
答案 0 :(得分:0)
尝试:
$('table td.ms-vb2').children('nobr:contains(8:00 PM)').each(function(index, element) {
element.innerHTML = element.innerHTML.replace('8:00 PM', '');
});
答案 1 :(得分:0)
你的选择器$("td.ms-vb2:contains(8:00 PM)")
将选择父div。为此,您可能希望在其上调用.html()
。这应该返回类似<nobr>7/30/2014 8:00 PM</nobr>
的内容,您需要通过JavaScript字符串替换器运行。
var newHtml = $("td.ms-vb2:contains(8:00 PM)").html()
.replace('/[ ]\d+:\d+[ ]\w{2}/','');
$("td.ms-vb2:contains(8:00 PM)").html(newHtml);
这样的事情。 (未经测试)