Javascript 根据标记的html值显示元素
我想通过jquery完成以下工作: 当我点击这个链接Javascript 根据标记的html值显示元素,javascript,jquery,Javascript,Jquery,我想通过jquery完成以下工作: 当我点击这个链接 <a href="#">Cars</a> 我想要所有像那样的div <div class="product"> <div class="category">Cars</div> </div> 汽车 做某事 你明白我的意思了,我有一个包含类别列表的菜单,还有一个产品列表,每个产品都包含一个带有类别名称的div,我想让它们隐藏/显示。我不确定我是否完全理解
<a href="#">Cars</a>
我想要所有像那样的div
<div class="product">
<div class="category">Cars</div>
</div>
汽车
做某事
你明白我的意思了,我有一个包含类别列表的菜单,还有一个产品列表,每个产品都包含一个带有类别名称的div,我想让它们隐藏/显示。我不确定我是否完全理解你的问题,但是如果你想在单击cars链接时显示div class=“category”cars,请遵循以下步骤:
$("#menu a").click(function() {
var value = $(this).html();
$.each($(".category"), function(i, item) {
if ($(item).html() == value) {
$(item).parent().hide();
}
});
});
如果要隐藏div,只需替换$(item).show()
;使用$(项).hide()代码>假设:
<a href="#" class="highlight">Cars</a>
这样做的目的是将category
类添加到包含链接文本的任何category
DVI中。如果您也希望这样做,可以修改它来修改父产品div
它的工作原理是首先从所有类别
div中删除类突出显示
,然后将其添加到需要它的div中。演示:来源:
$('a')。单击(函数(e){
var search_term=$.trim($(this.text());//trim text
$('.category')。每个(函数(){
($(this).text().search(新的RegExp(搜索词'i'))<0)//上限和下限
?$(this.parent().hide():$(this.parent().show());
});
});
这会将文本保留在
标记内,如果
文本与.category
文本匹配,则搜索
。它会显示相关的.product
内容
注意:
脚本同时匹配大写字符和小写字符
示例匹配Cars
以及Cars
和Cars
同样匹配间隔文本如汽车
以及汽车
和汽车
同样匹配标记的文本如汽车
是的,谢谢,这就是我的想法,除了我想隐藏父分区(“产品”)而不是“类别”分区。我通过做$(item.parent().show()来做到这一点;而不是$(item.show();另外,我认为你的代码中有一个输入错误,应该是if($(item).html()==value){而不是if($(item).html==value){是的,这是一个输入错误,谢谢,我用你的最终需求更新了我的答案,幸好我帮了你..回头见!:)你能把我的答案标记为已接受吗?有趣的脚本!谢谢分享
$("a.highlight").click(function() {
$("div.category").removeClass("category")
.filter(":contains(" + $(this).text() + ")").addClass("highlight");
return false;
});
$('a').click( function(e) {
var search_term = $.trim($(this).text()); //trim text
$('.category').each(function() {
($(this).text().search(new RegExp( search_term , 'i')) < 0 )//upper & lower
? $(this).parent().hide() : $(this).parent().show();
});
});