【问题标题】:jquery var and $(var).cssjquery var 和 $(var).css
【发布时间】:2015-02-14 19:34:33
【问题描述】:

我有这个代码:

$(document).ready(function() {
  $('.fa-crosshairs').click(function() {
    $('*').click(function() {
      var currentclass = $(this).attr('class');
    });
  });
  $('#1color').click(function() {
    $('body').css({
      "background-color": "black"
    });
  });
});

我需要获取 currentclass var,然后使用它而不是 $('body').css,但我不知道该怎么做。

重点是通过点击获得一个元素,然后在我点击('#1color')时改变它的css

【问题讨论】:

  • 这是什么 $('*').click(function() { 你正在绑定 fa-crosshairs 点击事件中的所有元素
  • 显示你的 DOM 结构或制作小提琴

标签: jquery css dom var


【解决方案1】:

全局声明变量。

这里有一个例子说明你可以如何做到这一点。

$(document).ready(function() {
  var elem;
  $('.fa-crosshairs').click(function() {
    elem = this;
  });
  $('input').click(function() {
    $( elem).css({
      "background-color": "teal",
      "color": "white"
    });
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div class="fa-crosshairs">One</div>
<div class="fa-crosshairs">Two</div>
<div class="fa-crosshairs">Three</div>
<div class="fa-crosshairs">Four</div>
<div class="fa-crosshairs">Five</div>
<div class="fa-crosshairs">Six</div>
<input type="button" value="Change" />

【讨论】:

    【解决方案2】:

    变量 var currentclass = $(this).attr('class'); 在函数内部声明。以便在声明它的函数内部可以访问它。变量的范围在该函数内。您需要将变量声明为 GLOBAL VARIABLE 以便在函数外部可以访问它。 SCOPE OF A VARIABLE

    【讨论】:

      猜你喜欢
      • 2012-09-20
      • 2013-06-28
      • 1970-01-01
      • 1970-01-01
      • 2013-08-20
      • 2018-08-02
      • 2022-08-03
      • 2015-01-24
      • 1970-01-01
      相关资源
      最近更新 更多