Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.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 jQuery使用元素的文本切换包含相同文本的另一个元素?_Javascript_Jquery_Click - Fatal编程技术网

Javascript jQuery使用元素的文本切换包含相同文本的另一个元素?

Javascript jQuery使用元素的文本切换包含相同文本的另一个元素?,javascript,jquery,click,Javascript,Jquery,Click,我对jquery非常陌生,我一直在努力创建这个动作。在这件事上的任何帮助都将不胜感激 我需要在jquery中找到一种方法,允许用户单击一个span并切换(即)另一个div,该div包含与所单击的span相同的文本,而不必为每个span重复相同的功能 我的例子是: <ul> <li class="sub"> <div class="filter-row"> <div class="row-section"> <

我对jquery非常陌生,我一直在努力创建这个动作。在这件事上的任何帮助都将不胜感激

我需要在jquery中找到一种方法,允许用户单击一个span并切换(即)另一个div,该div包含与所单击的span相同的文本,而不必为每个span重复相同的功能

我的例子是:

<ul>
<li class="sub">
  <div class="filter-row">
      <div class="row-section">
          <div class="row-heading">art</div>
              <span class="label studio-art">studio art</span>
              <span class="label ceramics">ceramics</span>
          </div>
      </div>
  </div>
</li>

<li class="sub">
  <div class="filter-row">
      <div class="row-section">
          <div class="row-heading">studio art</div>
          <span class="label">Option 1</span>
          <span class="label">Option 2</span>
      </div>

      <div class="row-section">
          <div class="row-heading">ceramics</div>
          <span class="label">Option 1</span>
          <span class="label">Option 2</span>
      </div>
  </div>
</li>
</ul>
JSFIDLE示例:

但我想避免做上面提到的事情,因为我可能有数百个跨度或类似的实例

因此,基本上我希望帮助创建一个解决方案,该解决方案只需要span中的字符串与我的“row heading”div中的字符串匹配。这样,当单击span时,row section div将切换


感谢您提前提供的帮助。

我没有测试这个,但它应该可以工作

$(document).ready(function(){
  $("span.label").click(function(){
    var checkText = $(this).html();
    $( ".row-section:contains('"+checkText+"')" ).each(function(index,element){
      // This checks for exact match. If you want any "containing" match, remove the if-clause
      if($(element).html() == checkText) {
        $(element).toggle();
      }
    });
  });
});

让我知道这是否有帮助
请注意。!此函数区分大小写(有关详细信息,请参阅)。

我没有测试此函数,但它应该可以工作

$(document).ready(function(){
  $("span.label").click(function(){
    var checkText = $(this).html();
    $( ".row-section:contains('"+checkText+"')" ).each(function(index,element){
      // This checks for exact match. If you want any "containing" match, remove the if-clause
      if($(element).html() == checkText) {
        $(element).toggle();
      }
    });
  });
});

让我知道这是否有帮助
请注意。!此函数区分大小写(有关详细信息,请参阅)。

我没有测试此函数,但它应该可以工作

$(document).ready(function(){
  $("span.label").click(function(){
    var checkText = $(this).html();
    $( ".row-section:contains('"+checkText+"')" ).each(function(index,element){
      // This checks for exact match. If you want any "containing" match, remove the if-clause
      if($(element).html() == checkText) {
        $(element).toggle();
      }
    });
  });
});

让我知道这是否有帮助
请注意。!此函数区分大小写(有关详细信息,请参阅)。

我没有测试此函数,但它应该可以工作

$(document).ready(function(){
  $("span.label").click(function(){
    var checkText = $(this).html();
    $( ".row-section:contains('"+checkText+"')" ).each(function(index,element){
      // This checks for exact match. If you want any "containing" match, remove the if-clause
      if($(element).html() == checkText) {
        $(element).toggle();
      }
    });
  });
});

让我知道这是否有帮助
请注意。!此函数区分大小写(有关详细信息,请参阅)。

您可以使用jQuery的
过滤器
方法找到具有相同文本的所有其他
div
元素,并对其进行切换。您必须更明智地选择类名,以使其更有意义且更易于理解

$(document).ready(function(){
    $(".row-section span").click(function(){
    var clickedText = $(this).text();
        $(".row-section").filter(function(){
            return $(this).find("div").text() === clickedText;
        }).toggle();
    });
});
更新小提琴:


.filter
文档:

您可以使用jQuery的
filter
方法找到具有相同文本的所有其他
div
元素,并对其进行切换。您必须更明智地选择类名,以使其更有意义且更易于理解

$(document).ready(function(){
    $(".row-section span").click(function(){
    var clickedText = $(this).text();
        $(".row-section").filter(function(){
            return $(this).find("div").text() === clickedText;
        }).toggle();
    });
});
更新小提琴:


.filter
文档:

您可以使用jQuery的
filter
方法找到具有相同文本的所有其他
div
元素,并对其进行切换。您必须更明智地选择类名,以使其更有意义且更易于理解

$(document).ready(function(){
    $(".row-section span").click(function(){
    var clickedText = $(this).text();
        $(".row-section").filter(function(){
            return $(this).find("div").text() === clickedText;
        }).toggle();
    });
});
更新小提琴:


.filter
文档:

您可以使用jQuery的
filter
方法找到具有相同文本的所有其他
div
元素,并对其进行切换。您必须更明智地选择类名,以使其更有意义且更易于理解

$(document).ready(function(){
    $(".row-section span").click(function(){
    var clickedText = $(this).text();
        $(".row-section").filter(function(){
            return $(this).find("div").text() === clickedText;
        }).toggle();
    });
});
更新小提琴:


.filter
文档:

这确实有效,非常感谢您的建议。但是,我选择了另一个答案,因为它使用的行数较少。当然,每个人的做法都不同。我试着让它尽可能简单。我同意,上面的解决方案更优雅:)这确实有效,非常感谢你的建议。但是,我选择了另一个答案,因为它使用的行数较少。当然,每个人的做法都不同。我试着让它尽可能简单。我同意,上面的解决方案更优雅:)这确实有效,非常感谢你的建议。但是,我选择了另一个答案,因为它使用的行数较少。当然,每个人的做法都不同。我试着让它尽可能简单。我同意,上面的解决方案更优雅:)这确实有效,非常感谢你的建议。但是,我选择了另一个答案,因为它使用的行数较少。当然,每个人的做法都不同。我试着让它尽可能简单。我同意,上面的解决方案更优雅:)谢谢你的解决方案,这对我帮助很大。至于类名,你有什么建议吗。再次感谢您的时间。感谢您的解决方案,这对我帮助很大。至于类名,你有什么建议吗。再次感谢您的时间。感谢您的解决方案,这对我帮助很大。至于类名,你有什么建议吗。再次感谢您的时间。感谢您的解决方案,这对我帮助很大。至于类名,你有什么建议吗。再次感谢您抽出时间。