javascript - 如果此 div 中图像的 url 与当前页面相同,则将类添加到 div

标签 javascript html css

我有一个列表(<li>),看起来像这样:

<div class="image_frame">
     <div>
          <div>
               <a href="link 1"><img /></a>
          </div>
     </div>
</div>

我想给 div 添加额外的类如果当前页面 URL 与元素 URL 相同,则使用 image_frame(如果元素链接与我访问过的页面相同,我只想突出显示此特定的 div)。

我找到了非常接近的解决方案,但它向当前链接添加了类,而不是父类 div但高出 3 个级别。

JavaScript add class depending on current URL

有什么建议吗?谢谢!

最佳答案

"use strict";

let div = document.querySelector('.image_frame');
let ref = 'http://domains.com/link-1/'; // delete this, it's just for test
// let ref = window.location.href; // insert this
let url = div.querySelector('img').parentNode.href;

if (url === ref) {
    div.className += ' new_class';
    console.log('DIV class was changed to: ' + div.className);
}
<div class="image_frame">
    <div>
        <div>
            <a href="http://domains.com/link-1/"><img /></a>
        </div>
    </div>
</div>

关于javascript - 如果此 div 中图像的 url 与当前页面相同,则将类添加到 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46603991/

相关文章:

html - Xpath 和 innerHTML

html - 如何将 tinyMCE 包裹在 polymer 元件中?

html - 特定菜单项的 CSS 隐藏下拉菜单

javascript - Bootstrap ,容器元素的预高度

javascript - npm 错了!安装在 Electron 应用程序中使用的请求模块时的代码1

javascript - 为什么这个 jQuery 返回索引 3?

javascript - 仅将 AJAX 响应传递给数组中的当前 div

html - 下拉菜单将内容推开

javascript - 从JavaScript检索YouTube播放列表信息?

javascript - JavaScript 中 3 个图像的数组中仅出现一个图像