使用JQuery将数据添加到HTML字符串中

3

我有一个html字符串,通过$("#datadiv").html();得到。这个数据中包含了其他几个元素,我想做的是在其中一个元素后面添加一些数据。

例如:

var data = $("#datadiv").html();
var somestring = "Some text"

那么将 somestring 追加到 data 内的 #stringholder div 中,这是否可能?

在问之前,我不能在执行 $("#datadiv").html(); 之前将其添加到 div 中。

3个回答

2
您可以像这样做:
$(data).find("#stringholder").append(somestring);

由于 html方法返回一个字符串,因此您需要再次将其传递给jQuery以创建jQuery对象。然后,您可以调用find来获取所需的元素,并使用append附加其他字符串。
jQuery非常乐意接受字符串形式的HTML作为参数。不仅接受选择器字符串,还可以传递HTML字符串,该片段将成为进一步方法调用的上下文。
我认为您已经知道这一点,但请注意,这不会影响DOM中的HTML。它只会影响通过将字符串传递到jQuery生成的片段。

这似乎按预期工作,但现在我遇到了将数据重新分配给变量的问题。我尝试过 data = $(data).find("#wysiwygIFrame").append(somedata),但那只是将 JQuery 函数分配给变量。我还尝试过 data = $(data).find("#wysiwygIFrame").append(somedata).html(),但它并不像我期望的那样工作。所以,有什么建议吗? - Samsquanch
你的第二次尝试看起来差不多正确。在这里可以看到一个小例子:http://jsfiddle.net/QbRgt/ - James Allardice

0

您的意思是:

var data = $("#datadiv").html();
var somestring = "一些文本"
var newData = data + " " + somestring;
var holderData = $("#stringholder").html();
var newestData = holderData + " " + newData;
$("#stringholder").html('');
$("#stringholder").html(newestData);

0
当然可以。基本上,您可以将当前div中的字符串转储到一个变量中,然后连接其他文本并将其放回div中。
var someText = $('#datadiv').html()
var someNewText = 'my new text'
var someText = someText + ' ' + someNewText
$('#datadiv').html('') //this will clear the current text but not really necessary.
$('#datadiv').html('someText')

你只需要有一些触发事件来启动所有操作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接