Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我们能把一个类保存在一个变量中吗?_Javascript_Jquery - Fatal编程技术网

Javascript 我们能把一个类保存在一个变量中吗?

Javascript 我们能把一个类保存在一个变量中吗?,javascript,jquery,Javascript,Jquery,我的结构如下: HTML <ul> <li class="modern"> <button>Ex 1</button> <li> <li class="classic"> <button>Ex 2</button> </li> <ul> <path class="modern"></path> <path class=

我的结构如下:

HTML

<ul>
  <li class="modern">
   <button>Ex 1</button>
  <li>
  <li class="classic">
   <button>Ex 2</button>
  </li>
<ul>

<path class="modern"></path>
<path class="classic"></path>
当我单击按钮时,与单击的父按钮具有相同类的路径应该
fadeIn()

下面是我正在尝试的jQuery

$("button").on("click", function() {
    var periodClass = $(this).parent().attr("class");
    if($("path").hasClass(periodClass)) {
        $("path.periodClass").fadeIn();
    } else {
        $("path.periodClass").fadeOut();
    }
});

您需要将其串联起来,不能像在PHP中那样访问JS内部的变量:

$("button").on("click", function() {
  let periodClass = $(this).parent().attr("class");

  // Hide others:
  $('path').not('.'+periodClass).fadeOut();
  $('path.'+periodClass).fadeIn();
});

您需要迭代所有
路径。用为什么否决投票我不知道不是我。。。很抱歉。
$('path')
将返回一个集合,但不返回单个元素,因此
hasClass
将无法正常工作。。
$("button").on("click", function() {
  let periodClass = $(this).parent().attr("class");

  // Hide others:
  $('path').not('.'+periodClass).fadeOut();
  $('path.'+periodClass).fadeIn();
});