sách gpt4 ai đã đi

javascript - 传递 "this"作为参数

In lại 作者:行者123 更新时间:2023-11-28 20:19:03 34 4
mua khóa gpt4 Nike

我是一名新的 Web 开发人员,正在学习 html5 和 javascript。

我有一个带有“选项卡”的网页,可以使网页的某些部分消失并重新出现。

链接如下:

HOME

和 JavaScript 函数 switchf()是这样的:

function switchf(field,tab) {
var divs = ["Home","About","Chatroom","Account","Contact","Signup"];
for(var j = 0; j < divs.length; j++) {
if(field != divs[j])
document.getElementById(divs[j]).style.display = "none";
khác
document.getElementById(divs[j]).style.display = "block";
}

var t = document.getElementsByClassName("tab");
for(var i = 0; i < t.length; i++) {
t[i].style.backgroundColor = "#dddddd";
}

tab.style.backgroundColor = "#cccccc";
document.getElementsByTagName("title")[0].innerHTML = field;
}

它需要两个参数 - 要显示的页面部分和按下的选项卡。

它循环遍历页面的各个部分并将它们全部更改为 display="none" ,然后转到所有选项卡并将其更改为 backgroundColor="#dddddd" .

然后它选择右侧选项卡来更改颜色并显示页面的右侧部分。

但是,当我经过cái này时作为参数( onclick="switchf('Home',this)" ),它不会改变颜色( tab.style.backgroundColor = "#cccccc"; ).

这是正确的通过方式吗cái này作为一个论点?我认为这将是最简单的方法 - 但我以前从未在 js 中使用过它,并且在这个示例中不起作用。

像我所有其他错误一样,这可能是一个非常简单的错误,但请向我指出。

Cảm ơn.

1 Câu trả lời

问题在于您正在遵循 href,这会刷新页面。将 trả về sai 添加到内联处理程序以防止出现这种情况。

HOME
<小时>

或者只是在函数调用之前添加trở lại,然后在函数内部添加trả về sai.

HOME

function switchf(field,tab) {
var divs = ["Home","About","Chatroom","Account","Contact","Signup"];
for(var j = 0; j < divs.length; j++) {
if(field != divs[j])
document.getElementById(divs[j]).style.display = "none";
khác
document.getElementById(divs[j]).style.display = "block";
}

var t = document.getElementsByClassName("tab");
for(var i = 0; i < t.length; i++) {
t[i].style.backgroundColor = "#dddddd";
}

tab.style.backgroundColor = "#cccccc";
document.getElementsByTagName("title")[0].innerHTML = field;

trả về false;
}

关于javascript - 传递 "this"作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18677104/

34 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com