0
<div class="Test">
 name - date   //First name ,Last name - 7/24/2013
 <button type="button"/>

如何使用 Jquery 更新 DIV 中的 HTML 文本部分。

我需要单独更新 div 中的日期部分。我尝试的就像在 a 中有日期部分span with class name并更新文本。

但必须有一种方法来更新text without having <span>.

我正在寻找不使用的修复程序

谢谢

4

6 回答 6

2

我会建议你一些不同的方式,使用正则表达式。(尽管可能最好的方法是使用额外的 span 元素。)

var testPattern = /date/;
var divToTest = $('.Test').html();

divToTest = divToTest.replace(divToTest.match(testPattern),'yourDate');
$('.Test').html(divToTest);

还请记住,如果日期是例如 dd.mm.yyyy 格式,您只需将您的 reg exp 更改为特定格式。希望有帮助:)。(编辑:感谢@Geoff Appleford)

于 2013-07-24T06:45:00.940 回答
1

好吧,有一种方法,但我真的建议你使用额外的 span 元素。

创建用文本填充 div 的函数

function fillDiv(date) {
    var html = 'Your text here and after that put ' + date;
    $('#myDiv').html(html);
}

并在页面加载和每次更改时调用此函数。

于 2013-07-24T06:28:11.847 回答
1

尝试

var node = document.createTextNode("asdf");
$($('.Test').contents().get(0)).replaceWith(node)

演示:小提琴

于 2013-07-24T06:28:57.870 回答
0

尝试这个

var dateTxt = $('.Test').text().split('-');
$('.Test').text(dateTxt[0] + ' - date');
于 2013-07-24T06:33:39.137 回答
0

如果您的内容具有与名称完全相同的结构 - 日期,那么您可以将内容拆分 - 然后替换数组中的第二项。最后,您可以将项目合并为一个字符串。

于 2013-07-24T06:23:22.563 回答
0

扩展 Phong 所说的,执行此操作的代码如下所示:

var children = $('.Test').children();
$('.Test').html($('.Test').html().split('-')[0] + '- ' + newDate).append(children);

也就是说,仅当由于某种原因您无法将日期包装在span.

于 2013-07-24T06:25:30.867 回答