javascript - 将类添加到不同页面上的元素

标签 javascript jquery html css

我有一个 html 页面 foo.html 和 bar.html。

我想要一个 foo.html 上的按钮/链接来将一个类添加到 bar.html 上的 div。执行此操作的 javascript 或 jQuery 是什么?

/foo.html

<a id="view1" onclick="addClass()" class="btn">View details »</a>

/bar.html

<div id="collapseThree" class="panel-collapse collapse"><div>

/foo.js

function addClass() {
    ???
}

编辑:

我可以使用任何东西,只要重定向到不同的页面设置 div 的类即可。

最佳答案

是的,您可以使用 cookies、localStorage 或 postMessage 在页面之间进行通信,但无法直接访问其他页面的 DOM。

试试这个:检查每个 Xms 是否 localStorage 已更改(非常丑陋的解决方案,但无需服务器端脚本即可工作;))

foo.js(附在两个文件中):

// apply to /foo.html
function addClass() {// toggleClass to be exact
  // set localStorage['collapse'] to 1 or 0 
  localStorage['collapse'] = localStorage['collapse'] ? 0 : 1;
}
// apply to /bar.html
(function() {
  var element = $('#collapseThree');
  if(element.length) {
    setInterval(function() {
      // when localStorage['collapse'] is 1, add class .collapse
      // other way: remove class collapse
      element.toggleClass('collapse', !!(localStorage['collapse'] || 0));
    }, 500);
  }
})();

你可以做得更聪明,用window.onfocus代替setInterval,这取决于你的需要

关于javascript - 将类添加到不同页面上的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20133368/

相关文章:

html - CSS 的多列、多行格式问题

javascript - 删除所有 <tr> 如果文本中不包含 "test"

javascript - 如何在一个请求中发送多个表单的数据?

javascript - 如何使用 jQuery 从下拉无序列表中获取文本值?

javascript - 如何使用 jquery 将 iframe 添加到 div

javascript - 克隆内联表单字段并附加到父容器

javascript - 在 mac 上找不到 Angular protractor/cli.js 文件被告知检查我如何安装 Protractor

javascript - 仅在 Chrome 上的 Angular 项目中控制台上的 zone.js 违规警告

javascript - 如何重定向或链接到另一个页面的 DIV 元素内的 URL?

Javascript 使用 if 语句更改样式表