javascript - 根据数据属性选择 DOM 元素

标签 javascript jquery html

我有这样的 HTML 结构:

<span class="portfolio-custom-content" data-name="alexa" data-lang="hu">Hungarian text</span>
<span class="portfolio-custom-content" data-name="alexa" data-lang="en">English text</span>
<span class="portfolio-custom-content" data-name="peter" data-lang="hu">Hungarian text</span>
<span class="portfolio-custom-content" data-name="peter" data-lang="en">English text</span>
<span class="portfolio-custom-content" data-name="james" data-lang="hu">Hungarian text</span>
<span class="portfolio-custom-content" data-name="james" data-lang="en">English text</span>

我想根据 ID 和当前语言 (WPML) 选择文本。

这是我正在使用的 JavaScript 代码:

window.onhashchange = function () {
    var url = window.location.pathname,
        idk = [];

    // IDs for the current portfolio
    idk = {
        1: 'alexa',
        2: 'peter',
        3: 'james'
    }
    // Checking the current language of the website. If it's in english, german or italian, we need the english text, else we need the hungarian text.
    if (url.indexOf('/en/') > -1 || url.indexOf('/de/') > -1 || url.indexOf('/it/') > -1) {
        // not hungarian language
        var id = parseInt(window.location.hash.split("#")[1]),
            selector = '.portfolio-custom-content[data-name="' + idk[id] + '"]';

        if (!isNaN(id)) {


        }
    } else {
        // hungarian language
    }
}

正如您所看到的,我可以通过 id 选择正确的范围,但是我如何修改选择器,以便我可以选择名称和语言?

最佳答案

只需加倍选择属性即可:

selector = '.portfolio-custom-content[data-name="' + idk[id] + '"][data-lang="' + langVariable + '"]';

关于javascript - 根据数据属性选择 DOM 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26527459/

相关文章:

html - 如何在 html5 jw 播放器中播放 youtube 和 vimeo 视频

Javascript,将数组的第一个元素连接到另一个数组的第一个元素

javascript - 如何防止秒部分显示在 HTML5 时间输入元素上?

javascript - 如何在 PUT 后使用一次性消息进行重定向

jquery - 带有 jquery 动画的 Twitter bootstrap 表

javascript - 在 Bootstrap 日期范围选择器中设置自定义日期

java - 在 Chrome 中加载小程序时出现 ClassNotFound 异常

javascript - 如何在 jQuery 中对 div 进行动画处理,但它在该 div 中包含 div?

javascript - 如何使用 Javascript 设置动态字符串值?

javascript - for 循环在移动 JavaScript 之前对同一项目迭代 3 次