Javascript 元素类

标签 javascript jquery html css

我会尝试具体说明我正在尝试做的事情以及到目前为止我已经尝试过的事情。

我的任务是构建包含 200 个国家/地区的下拉菜单。选择国家/地区后,它将显示您选择的国家/地区可用的支付处理商。

我在这里工作(只有 3 个国家) http://davidstokes.com/1/payments/payments-dropdown.html 我还将代码添加到 JS fiddle ,但由于某种原因不起作用,可能是外部文件未加载更正。

`function showDivIE() {
 document.getElementById('ireland').style.display = "block";
 document.getElementById('canada').style.display = "none";
 document.getElementById('uk').style.display = "none";
}
function showDivCA() {
document.getElementById('canada').style.display = "block";
document.getElementById('ireland').style.display = "none";
document.getElementById('uk').style.display = "none";
}
function showDivUK() {
document.getElementById('uk').style.display = "block";
document.getElementById('ireland').style.display = "none";
document.getElementById('canada').style.display = "none";
}'

https://jsfiddle.net/dave5000/0jwhwezq/

但是您将能够看到我有什么代码。

我想将 document.getElementById 选择器更改为允许我选择多个元素的其他选择器。因此,当我需要隐藏国家/地区 x/y/z 时,我可以在一个区域中全部输入,而不必有多个 getElementsBy 选项。

任何帮助或建议都会很棒。

最佳答案

为每个 block 添加一个公共(public)类,即对于爱尔兰,将其替换为:

<div id="ireland" style="display:none;">

用这个:

<div id="ireland" style="display:none;" class="countryblock">

鉴于所有 block 都有一个共同的类,您可以使用以下函数:

function showDiv(id) {
    // $(selector) is a shortcut for jQuery(selector)
    $('.countryblock').hide(); // Hides every block with a table that is not currently hidden
    $('#'+id).show(); // Shows one particular block you want to show
}

然后这样调用它:

showDiv('uk');

关于Javascript 元素类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42906629/

相关文章:

javascript - jQuery parent() 函数返回空

javascript - 如何重新初始化 Owl Carousel 2.0?

javascript - 搜索事件的更好方法?

javascript - 如何使用 JavaScript 从表格中获取单元格的数据

javascript - 在 JavaScript 中用不同颜色打印一系列数字

javascript - 确定函数访问的对象属性

javascript - Lodash forEach 函数省略

php - 如何将 css 规则添加到 jquery 中动态创建的元素

html - 如何通过 CSS 媒体查询使移动设备中的 div 元素居中

javascript - 我可以将 `fn.apply` 与 `arguments` 一起使用还是必须先将 `arguments` 转换为数组?