【发布时间】:2013-01-21 20:26:34
【问题描述】:
我是 javascript 新手,如果您能帮助我解决我面临的这个问题,那就太好了。 在下面的 HTML 代码中,我试图突出显示一个特定的词(比如“消息”),方法是通过附加到该词以使其变为粗体来替换该词。
<body>
<img src="http://some.web.site/image.jpg" title="abcd" />
This is a test message.
</body>
字符串“这是一条测试消息”直接在正文元素中找到(因此没有 id,因此无法使用 getElementById 来提取文本)。
所以我得到了整个 body 元素并使用 textContent 提取了文本。(这给了我文本并忽略了 html 中文本上方的图像。) 然后在突出显示这个词后,我将'body's textContent 设置回新字符串。
问题是现在我无法保留文本上方的图像,并且新正文中只有 textContent 的值,并且图像丢失了。这是我使用的 JS(但现在我将 message 替换为 phone 这个词)。
<script>
function myFunction(){
var x = document.getElementsByTagName('body')[0].textContent;
var v = x.replace("message","phone");
document.getElementsByTagName('body')[0].textContent = v;
}
</script>
有没有其他方法可以替换直接放在正文下方的文本,其中也有其他元素?
【问题讨论】:
-
Y U NO using jQuery?
-
因为jQuery sucks?
-
@Kolink jQuery 如果您正确使用它,它不会很糟糕,就像图片所暗示的那样。如果您使用完整的功能,它是一个很棒的工具。否则 vanilla JS 会更快、更流畅、更容易,是的。但是对于使用大量 javascript 的大型项目,jQuery 是减少项目工作时间的好方法。
-
@Rune 我同意你的说法,但在我看来,即使使用得当,它也是一个笨拙的工具怪物。
-
@Kolink 我必须同意它是巨大的,你可以在一个项目中使用很多东西,但不能在另一个项目中使用。但是如果不使用太多,对速度的影响不会太大。由于所有的滑动功能等,它非常适合创建交互式菜单之类的东西。如果您使用 vanilla JS,您需要重新发明一半的轮子以获得正确的动画,从而浪费时间。通常在开发网站时,时间就是金钱。你不能说网站明显变慢只是因为 jQuery 本身。这可能是因为你用它做什么以及你是怎么做的。哇,字符限制:O
标签: javascript html