【发布时间】:2018-04-26 03:04:37
【问题描述】:
我有以下函数,用于根据不同的按钮点击隐藏和显示相应的页面。现在我正在使用 JQuery,我希望能够做同样的事情,但只是使用 JQuery。我翻译的方式一定有问题,因为它不起作用。
function showPages() {
var aBtnShowPages = document.getElementsByClassName("btnShowPage");
// this is an array
for (var i = 0; i < aBtnShowPages.length; i++) {
aBtnShowPages[i].addEventListener("click", function () {
//console.log( "WORKS" );
// Hide the pages
var aPages = document.getElementsByClassName("page");
for (var j = 0; j < aPages.length; j++) {
aPages[j].style.display = "none";
}
var sDataAttribute = this.getAttribute("data-showThisPage");
//console.log( sDataAttribute );
document.getElementById(sDataAttribute).style.display = "flex";
});
}
}
jQuery 版本:
function showPages() {
let $aBtnShowPages = $(".btnShowPage");
// this is an array
for (let i = 0; i < $aBtnShowPages.length; i++) {
$aBtnShowPages[i].click(function () {
//console.log("WORKS");
// Hide the pages
let $aPages = $('.page');
for (let j = 0; j < $aPages.length; j++) {
$aPages[j].hide();
}
let $sDataAttribute = $(this).attr("data-showThisPage");
//console.log( $sDataAttribute );
$(sDataAttribute).show();
});
}
}
【问题讨论】:
-
您可以在 api.jquery.com 或 learn.jquery.com 中找到合适的方法来使用。
$()和on()和css()和attr()或prop()仅举几例。 -
我试过了,看起来还好吗?请参阅上面的编辑。
-
没有“只有 jQuery”这样的东西。 jQuery 只是一个 Javascript 库;甚至您翻译的示例中也包含一些 Javascript。
-
正确。我意识到了。
标签: javascript jquery