2012-03-08 107 views
3

假设我有一个元素的正确位置什么是使用jQuery()替换所有html包括给定HTML代码块的标记的最佳方法?我正在寻找类似于以下的东西。这是做这件事的好方法吗?还有哪些其他方式可用或有用于了解?使用jQuery替换包含所有HTML标记的元素

var location = 'td[id^="A0.R0.Work"]'; 
var element = jQuery(location).prev(); 
element.html('<h1>some code</h1>'); 

谢谢。

+0

什么推荐的方式来更新整个html标签包括... .html()? – htmlfarmer 2012-03-08 05:36:59

回答

0

jQuery是有时过多的开销。

var location = document.getElementById('A0.R0.Work'); 
location.innerHTML = '<h1>some code</h1>'; 
+0

还有document.getElementsByClassName() – htmlfarmer 2012-08-21 16:36:52

1

您提供的代码将尝试将HTML分配给jQuery的html函数返回的任何内容。相反,通过你的HTML作为参数传递给html功能:

var location = 'td[id^="A0.R0.Work"]'; 
var element = jQuery(location).prev(); 
element.html('<h1>some code</h1>'); 
+0

您对'html()'的使用是正确的,但请记住它会替换内容,即元素的子元素,而不是元素本身。 – 2012-03-08 01:59:57

+0

啊,你是对的 - 我看错了这个问题。虽然@ SenorAmor的答案很好地覆盖了它! – rjz 2012-03-08 02:26:01

2

尝试.replaceWith()

$(element).replaceWith(other_stuff); 
+0

不错。忘了那个。 – 2012-03-08 02:05:23

+1

'$(“#JeffB.replaceWith_memory”)。replaceWith('boobs');'没关系。我希望我很幸运。 ;) – SenorAmor 2012-03-08 02:07:42

+0

我想我也可以使用.text(other_stuff)或.html(other_stuff)会做同样的事情吗? – htmlfarmer 2012-03-08 05:34:55