你好,我现在有点卡住了。我试图让我的脚本选择div类改变中的所有段落,但我真的不明白该怎么做。 html在正文中看起来像这样
var fontChange = document.getElementsByClass("change").getElementsByTagName("p");
for (let i = 0; i < changeFont.length; i++) {
changeFont[i].onmouseover=function() {
this.style.color = "red";
}
}
for (let i = 0; i < changeFont.length; i++) {
changeFont[i].onmouseout=function() {
this.style.color = "black";
}
}
我试图这样做,当鼠标光标触及段落中有一类变化的任何东西时,它会将颜色更改为我选择的颜色,但我不知道如何使用选择器纯粹的javascript。这是我目前的代码,但它不起作用。我只能使用javascript
def init = { servletContext ->
def adminUser = User.findByUsername("episo_admin_root")
if(!adminUser){
print "Creating admin user... "
adminUser = new User(username: username, emailAddress: emailAddress, password: password, birthDate: new Date(1, 1, 1),
sex: Sex.AGENDER, enabled: true, accountConfirmed: true, accountCreationDate: new Date())
adminUser.save(flush: true, failOnError: true)
def auth = adminUser.addAuthority(Roles.ROLE_ADMIN)
auth.save(flush: true, failOnError: true)
}
}
答案 0 :(得分:1)
没有功能getElementsByClass
,它是getElementsByClassName
。
document.getElementsByClassName()
返回一个集合(请参阅What do querySelectorAll, getElementsByClassName and other getElementsBy* methods return?),您必须将其编入索引,以便对其返回的元素使用getElementsByTagName
。
var fontChange = [];
var change = document.getElementsByClassName("change");
for (var i = 0; i < change.length; i++) {
var paras = [].slice.call(change[i].getElementsByTagName("p"));
fontChange.concat(paras);
}
或者您可以使用querySelectorAll
var fontChange = document.querySelectorAll(".change p");
你也有拼写错误。您设置变量fontChange
,然后在循环中使用changeFont
。
答案 1 :(得分:0)
您可以在没有javascript的情况下实现您想要的效果,只需将此代码添加到您的css
即可.change p:hover {
color: red;
}