我想改变一个HTML元素的文本,但用jQuery保留其余的内部html。
例如:
<a href="link.html">Some text <img src="image.jpg" /></a>
将“一些文本”替换为“其他文本”,结果应如下所示:
<a href="link.html">Other text <img src="image.jpg" /></a>
编辑:
我当前的解决方案如下:
var aElem = $('a'); var children = aElem.children(); aElem.text("NEW TEXT"); aElem.append(children);
但是必须有一些更优雅的方式做到这一点。
解决方法
这似乎工作很好。
<html> <head> </head> <body> <a href="link.html">Some text <img src="img.jpg" /></a> </body> </html> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script> <script type="text/javascript"> $(function(){ var $link = $('a'); var $img = $link.find('img'); $link.html('New Text'); $link.append($img); }); </script>