我目前正在开设一个新网站(音乐杂志),我需要使用一个非常方便的功能;我有一个粗略的想法,如何做到但无法使代码工作。
在评论部分,我想显示一个主要的CD评论和其他刚刚提到的侧边栏div中的标题CD。现在我不希望主显示CD同时列在侧边栏中。我正在尝试编写一个jquery函数,只要它与主显示CD标题匹配就会隐藏标题。
我想这里的想法是在这里创建一个if函数:if (main CD title) == (sidebar CD title)
隐藏(包含CD标题的侧边栏);它必须自动遍历所有元素。
以下是受影响的代码示例:
HTML:
<div class="grid_12 alpha omega upper2" title="vil">
<div class="grid_8 upper alpha omega" id="vil">
grid_12是主CD,grid_8是侧边栏标题CD
jquery位:
if($('.grid_12').attr('title') == $('.grid_8').attr('title'))
{
$('.grid_8').attr('title').hide();
}
jquery代码肯定是错的,但这只是我想要的方式。
将所有唯一ID放入数组中的建议非常好。
提前感谢您的帮助。
亚切克
答案 0 :(得分:0)
你无法隐藏标题,这是毫无意义的。您可以隐藏元素或清除其标题。
因此,改变其中任何一个,它将“起作用”:
$('.grid_8').hide();
或者:
$('.grid_8').attr('title', '');
再次阅读你说的话,我想我理解你的目标。这样的代码将隐藏具有类“grid_8”的元素,其标题与具有类“grid_12”的元素相同:
var titleToSearch = $('.grid_12').attr('title');
var matchingDiv = $('.grid_8[title="' + titleToSearch + '"]');
matchingDiv.hide();
这假设您只有一个“grid_12”和几个“grid_8”元素。如果您有多个,并且每个“grid_12”包含多个“grid_8”,并且您希望找到其中一个具有匹配标题,则此处更新代码:
var parentGrid12 = $(this).parents(".grid_12");
var titleToSearch = parentGrid12.attr("title");
var matchingDiv = parentGrid12.find(".grid_8[title='" + titleToSearch + "']");
matchingDiv.hide();
$(this)
假设代码正在作为“grid_12”中某个元素的事件处理程序执行。 Updated fiddle