javascript - 设置一个等于当前选定链接的数据属性的变量

标签 javascript jquery html css

我需要将变量 current 设置为等于已选择链接的数据属性,我该怎么做。我知道有更简单的方法来做我想做的事情,但我需要这样做。

我尝试创建它,但我做不到。

$(".links").click(function(){
  var current = $(this).getAttribute("data-cat");
  $(current).addClass('hide');
});
ul{
  list-style-type: none; 
}

ul li{
  display: inline-block;
}

ul li a{
  font-size: 20px;
  padding: 10px;
  background-color: yellow;
}

.change{
  background-color: red;
}

.hide{
  display: none;
}

.print{
  height: 100px;
  width: 100px;
  background-color: blue;
}
<ul>
  <li><a id="hi" class="links" data-cat="print" href="#">link1</a></li>
  <li><a class="links" data-cat="porfolio" href="#">link2</a></li>
  <li><a class="links" data-cat="print" href="#">link3</a></li>
</ul>

<div class="print">
  
</div>

<div class="porfolio">
  
</div>

<div class="print">
  
</div>

<script
  src="https://code.jquery.com/jquery-3.2.1.js"
  integrity="sha256-DZAnKJ/6XZ9si04Hgrsxu/8s717jcIzLy3oi35EouyE="
  crossorigin="anonymous"></script>

最佳答案

最好用 .data() 当你处理 data-* 属性时:

var current = $(this).data("cat");

注意:您的选择器中缺少点 .:

$('.'+current).addClass('hide');
___^

希望这对您有所帮助。

$(".links").click(function(){
  var current = $(this).data("cat");
  $('.'+current).addClass('hide');
  console.log(current);
});
ul{
  list-style-type: none; 
}

ul li{
  display: inline-block;
}

ul li a{
  font-size: 20px;
  padding: 10px;
  background-color: yellow;
}

.change{
  background-color: red;
}

.hide{
  display: none;
}

.print{
  height: 100px;
  width: 100px;
  background-color: blue;
}
<ul>
  <li><a id="hi" class="links" data-cat="print" href="#">link1</a></li>
  <li><a class="links" data-cat="porfolio" href="#">link2</a></li>
  <li><a class="links" data-cat="print" href="#">link3</a></li>
</ul>

<div class="print">
  
</div>

<div class="porfolio">
  
</div>

<div class="print">
  
</div>

<script
  src="https://code.jquery.com/jquery-3.2.1.js"
  integrity="sha256-DZAnKJ/6XZ9si04Hgrsxu/8s717jcIzLy3oi35EouyE="
  crossorigin="anonymous"></script>

关于javascript - 设置一个等于当前选定链接的数据属性的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44417112/

相关文章:

javascript - jquery 如何跟踪哪些按钮被按下

javascript - 记住用户在上一页选择的内容

javascript - 为什么在检索日期选择器值时我的函数会阻止检索其他值?

html - Chrome 16 网络套接字 hybi-17

javascript - 循环浏览系列中的所有产品 |商城

javascript - 变量持有样式值无法更改

javascript - 使用angularJS获取表中行的索引

jquery - 如何使用jquery启用一个复选框的多个输入文本字段?

jquery - 如何在 JQuery 中获取具有指定元素的第一个子元素?

html - Css div 中心对齐不起作用