gpt4 book ai didi

javascript - 为什么使用 jQuery .replace 会导致网页未找到错误?

转载 作者:行者123 更新时间:2023-11-28 18:44:54 25 4
gpt4 key购买 nike

我正在用 javascript/jquery 脚本编写一些 HTML。该脚本使用 for-in 循环遍历 JavaScript 对象,使用 jQuery .append 语句将 HTML 格式行中的某些模式替换为对象中的数据,最后使用 .replace 修改 DOM。在下面粘贴的代码中,您将看到一些注释掉的行。如果我运行带有注释的代码,我会得到预期的结果。然而,一旦我删除评论,我就会得到奇怪的结果。取消注释“OptionA”后,结果如下......页面加载不再起作用。该页面显示“找不到网页”消息,更令人惊讶的是,多功能框中的加载语句更改为:

file:///Users/user1/Documents/Udacity/IntroJS/frontend-nanodegree-resume/%3Cdiv%20class=%22location-text%22%3ELexington,%20KY%3C/div%3E

页面正确加载时的正常页面加载语句如下所示:

file:///Users/user1/Documents/Udacity/IntroJS/frontend-nanodegree-resume/debug.html

如果选项B取消注释,则仅显示“工作经验”一词,但不会打印日期。

代码片段:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Debug</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
</head>
<body>
<div id="main">
<div id="workExperience" class="gray">
<h2>Work Experience</h2>
</div>
</div>
<script>
var HTMLworkStart = '<div class="work-entry"></div>';
var HTMLworkDates = '<div class="date-text">%data%</div>';
var HTMLworkLocation = '<div class="location-text">%data%</div>';
var work = {
"job1":{
"dates": "2007 to 2016",
"location": "Raleigh, NC"
},

"job2":{
"dates": "2003 to 2007",
"location": "Los Angeles, CA"
},

"job3":{
"dates": "2000 to 2003",
"location": "Lexington, KY"
}
};

for(var job in work){
if(work.hasOwnProperty(job))
{
var dates = HTMLworkDates.replace("%data%", work[job].dates);
//OptionA: var location = HTMLworkLocation.replace("%data%", work[job].location);
//OptionB: var location = HTMLworkLocation.replace("%data%", "Raleigh, NC";
$("#workExperience").append(HTMLworkStart);
$(".work-entry:last").append(dates);
$(".work-entry:last").append(location);

}
}

</script>
</body>

</html>

为了调试这个问题,我将上面的代码片段与我正在处理的项目的其余部分隔离开来。我试图查看是否存在语法错误等。但是隔离代码会得到相同的结果。

所以我的问题是:

-为什么 jQuery .replace 会导致在这个孤立的案例中找不到网页?

-标记为 OptionA 的行有什么特别之处,它会导致整个页面加载失败,并进一步奇怪地修改多功能框中的行,如上所述?

-我的完整代码中还有另一行类似于此处示例中的“location-text”行,它不会导致任何问题。

最佳答案

将您的位置变量更改为其他名称。 location 是全局位置属性的名称,它控制窗口加载的 URL。

关于javascript - 为什么使用 jQuery .replace 会导致网页未找到错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35527641/

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