2014-09-02 17 views
0

这是我的第一个问题。首先,请看这段代码。jQuery/HTML在找到的元素上操作

$('#btn').click(function() { 
if ($(this).parent().find('a').attr('href') == $("#search_list").find('a').attr('href')) { 
    $(secondelement).css(.......) ///any operation. 
} 
}); 

我的问题是如何对找到/匹配/第二个元素执行操作?在这种情况下,#search_list中的元素'a'的href等于#btn的父元素中'a'的href。

+0

商店的元素首先参考? 'var aElements = $(“#search_list”)。find('a');'。请注意,'$(“#search_list”)。find('a')。attr('href')'将* always#获得'#search_list中** first **'a'元素的'href'值'。那真的是你想要的吗? – 2014-09-02 18:25:29

+1

欢迎来到SO!你将不得不发布相关标记(HTML)。 – PeterKA 2014-09-02 18:25:53

+0

@FelixKling No Felix。我想通过#search_list中的所有'a'元素,当有一个'a'的href与提供的href相等时,我想对其执行操作。 – 2014-09-02 18:31:38

回答

1

你有什么是

$(this).parent().find('a').attr('href') == $("#search_list").find('a').attr('href') 

它获得的第一个发现停泊在父href属性和比较对第一个找到的锚点#search_listattr将返回集合中的属性为第一要素)。

要获得相同的元素,您可以改为使用属性选择器,并在#search_list中选择第一个锚点,如果它与父级中的第一个锚点具有相同的href。

编辑:让具有相同HREF作为父元素的第一锚锚的任何,你会怎么做:

$('#btn').on('click', function() { 
    $('#search_list a[href="' + $(this).parent().find('a').attr('href') + '"]').css('color', 'red'); 
}); 
+0

这不是原来的代码虽然;)(也许你想扩大)。 – 2014-09-02 18:26:53

+0

@FelixKling - 现在呢? – adeneo 2014-09-02 18:27:46

+0

我想......尽管我怀疑'a [href = ...]'实际上不是OP真正想要的。 – 2014-09-02 18:29:40