gpt4 book ai didi

页面上显示的 Javascript 代码

转载 作者:太空宇宙 更新时间:2023-11-04 14:32:50 24 4
gpt4 key购买 nike

我试图将页面上给定单词的所有实例更改为另一个单词。使用我现在使用的脚本,单词被更改,但随后也会显示 javascript。我做错了什么?

<html>
<head>
</head>
<body>
This is a test of finding a word and changing it.
</body>
<script type="text/javascript" src="jquery-2.1.4.min.js"></script>
<script type="text/javascript">
var $els = $(document.body);
$els.each(function(){
$(this).html($(this).text().replace(/word/g, 'banana'));
});
</script>
</html>

呈现为:

This is a test of finding a word and changing it. var $els = $(document.body); $els.each(function(){ $(this).html($(this).text().replace(/banana/g, 'banana')); });

最佳答案

那是因为您在页面中有脚本。您已将 script 标签放在 body 标签之外,但您不能在那里放置任何东西,因此浏览器无论如何都会将它放在 body 元素内.

由于 script 元素位于 body 元素内,您使用 text 方法获得的文本也将包含脚本文本,但不是脚本标签,所以当你把它放回 body 元素时,它将是纯文本,而不是脚本。

将脚本放在 head 标签中:

<!DOCTYPE html>
<html>
<head>
<title>A valid document has a title</title>
<script type="text/javascript" src="jquery-2.1.4.min.js"></script>
<script type="text/javascript">
$(function(){
var $els = $(document.body);
$els.each(function(){
$(this).html($(this).text().replace(/word/g, 'banana'));
});
});
</script>
</head>
<body>
This is a test of finding a word and changing it.
</body>
</html>

注意:通常您会使用相同的方法来获取和放置文本,因此两者都使用text 方法或html 方法。

相关:参见这个关于仅在页面的文本节点中替换文本的问题:How to replace text using jQuery (or plain JS) without breaking any events?

关于页面上显示的 Javascript 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32418178/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com