javascript - 将外部 javascript 转换为内联 html(货物)
问题描述
我是 Javascript 的新手(就像全新的),并且在开发一个基本上会“擦除”鼠标悬停标签内的类的代码方面得到了一些帮助。我目前在外部使用<script defer src= "./script.js">
. 我正在尝试在 Cargo Collective 中辅助实现这一点,根据我正在阅读的所有内容,我将不得不为此使用内联脚本。我什至不知道从哪里开始,但我确信这是网站上人们遇到的常见问题。这是我正在使用的所有 Javascript:
console.log('hello world!!')
var elements = document.querySelectorAll('g')
console.log(elements)
for (var i=0; i<elements.length; i++){
elements[i].addEventListener("mouseover",function() {
event.target.setAttribute('class', 'hide')
})
}
解决方案
你在正确的轨道上,运行下面的代码片段,看看我所做的调整。
//get an array of all elements with id="g"
var elements = document.querySelectorAll('#g')
for (var i=0; i<elements.length; i++){
elements[i].addEventListener("mouseover",function() {
//on mouseover remove className
this.className = ""
})
}
.someClass {
background: blue;
color: yellow;
}
.someClass2 {
background: yellow;
color: blue;
}
<p>Hover the divs below to remove their CSS class:</p>
<div id="g" class="someClass">im the g div</div>
<br>
<div id="g" class="someClass2">im the other g div</div>
如果您的代码位于名为的文件中script.js
并且位于 HTML 所在的根目录中,则只需在结束</body>
标记之前调用该脚本即可:
<script defer src= "./script.js">
或者,如果您想完全内联,您可以在 HTML 文档中调用整个函数,如下所示:
<script>
//get an array of all elements with id="g"
var elements = document.querySelectorAll('#g')
for (var i=0; i<elements.length; i++){
elements[i].addEventListener("mouseover",function() {
//on mouseover remove className
this.className = ""
})
}
</script>
不过,请确保将脚本放在结束</body>
标记之前,以便在函数运行之前完全加载 DOM。
推荐阅读
- apache-commons-httpclient - HttpClient 是否同时配置了 SSL 和 Proxy 身份验证?
- composer-php - Drupal 8 以 root 身份运行作曲家
- html - 向网站添加用户帐户和支付系统需要指南
- c# - MemoryStream 上传到 Minio 的结果大小为 0
- python - 如何在不对示例测试用例进行逆向工程的情况下解决以下问题
- keycloak - 如何使用 nginx 入口访问子路径上的 keycloak?
- sql - 从日历表上的日期中减去可变天数来检索日期
- javascript - 如何使用javascript允许一个特定的单词进入表单中的文本字段?
- reactjs - 如何在 url 更改时重新渲染组件
- r - 安装包 RMySQL / Ubuntu 18.04 的问题