2011-12-11 65 views
2

我在用一个类替换一个图片到一个div里面的文本,我该怎么做?用div替换img jquery

<script> 
$('img.vCSS_img_history_off').replaceWith('<div id="button">Turn History Off</div>'); 
</script> 

我知道代码被搞砸了,但它只是画一幅我正在寻找的图片,有什么建议吗?

+0

什么是你的代码搞砸了?什么不起作用? –

+2

不要忘了在'jQuery(document).ready(function(){/ * here * /})中包装它;' – Pierre

+0

@Pierre等等,你的意思是? '$(function(){/ * here * /});' –

回答

0

你需要确保DOM准备在你走之前搜索的元素在里面:

$(document).ready(function(){ 
    $('img.vCSS_img_history_off').replaceWith('<div id="button">Turn History Off</div>'); 
}); 

或者,您可以将图像之后添加任何你需要,然后将其删除:

$(document).ready(function(){ 
    $("img").after("<div>Inserted div</div>").remove(); 
}); 

Example

更多关于.after()here和更多关于.remove()here

0

另一种可能是使用这个,但它会删除其它父母的孩子(如@Vide Simas说):

$(".myImage").parent().html('<div>hello</div>'); 

你写什么样子不错,我已经写了使用replaceWidth一个的jsfiddle:http://jsfiddle.net/ydZg5/

错误一定在别处

+1

图像是空的元素,你不能在图像中放置DIV。 –

+0

你对我有点累抱歉。我忘了'parent()' – phemios

+2

这只适用于只有孩子的图片(因为父母的所有孩子都被删除了)。 –

0

下面的代码将替换类名“myImageClassName”包含文字股利的图像“这是我的div文”:

$('img.myImageClassName').replaceWith('<div>This is my div text</div>'); 

但是,我必须同意其他..你的代码看起来不错。

+0

重写问题不被视为答案。无论如何,解决方案是在5分钟前的问题评论中写下来的。 – Pierre