Javascript jQuery使用元素的文本切换包含相同文本的另一个元素?
我对jquery非常陌生,我一直在努力创建这个动作。在这件事上的任何帮助都将不胜感激 我需要在jquery中找到一种方法,允许用户单击一个span并切换(即)另一个div,该div包含与所单击的span相同的文本,而不必为每个span重复相同的功能 我的例子是: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"> <
<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
文档:这确实有效,非常感谢您的建议。但是,我选择了另一个答案,因为它使用的行数较少。当然,每个人的做法都不同。我试着让它尽可能简单。我同意,上面的解决方案更优雅:)这确实有效,非常感谢你的建议。但是,我选择了另一个答案,因为它使用的行数较少。当然,每个人的做法都不同。我试着让它尽可能简单。我同意,上面的解决方案更优雅:)这确实有效,非常感谢你的建议。但是,我选择了另一个答案,因为它使用的行数较少。当然,每个人的做法都不同。我试着让它尽可能简单。我同意,上面的解决方案更优雅:)这确实有效,非常感谢你的建议。但是,我选择了另一个答案,因为它使用的行数较少。当然,每个人的做法都不同。我试着让它尽可能简单。我同意,上面的解决方案更优雅:)谢谢你的解决方案,这对我帮助很大。至于类名,你有什么建议吗。再次感谢您的时间。感谢您的解决方案,这对我帮助很大。至于类名,你有什么建议吗。再次感谢您的时间。感谢您的解决方案,这对我帮助很大。至于类名,你有什么建议吗。再次感谢您的时间。感谢您的解决方案,这对我帮助很大。至于类名,你有什么建议吗。再次感谢您抽出时间。