我有一个列表和一个链接,我想更改顶部的链接:
<a class="topLink" href="#">change me</a>
<ul>
<li><a href="#">link name</a></li>
<li><a href="#">link name</a></li>
<li><a href="#">link name</a></li>
<li><a href="#">link name</a></li>
<li><a href="#">link name</a></li>
</ul> 当我单击“链接名称”链接时,我希望将该文本应用到change链接中。
我如何与jQuery的父母一起做这件事?或者我该用什么?
编辑:对不起,我忘了说我会有三个列表,所以三个链接有一个topLink类
发布于 2010-11-10 23:46:54
如果<ul>和<a>是相邻的兄弟姐妹,那么trythis:
$('ul').delegate('a','click',function() {
$(this).closest('ul').prev().text( $(this).text() );
});这使用方法获取第一个<ul>祖先,使用方法从<ul>遍历到其上一个同级。
如果HTML标记与您提供的标记有任何不同,那么您需要给出一个实际HTML的示例。
发布于 2010-11-10 22:58:59
$('ul').delegate('a', 'click', function() {
$('.topLink').text($(this).text());
});这里不需要调用.parents() (它也不起作用)
通过使用.delegate(),您只可以通过将一个事件处理程序绑定到父ul元素来完成这项工作。当然,如果ul有一个id的话,情况会好得多。
参考文献:.delegate()
示例:这里
发布于 2010-11-10 22:58:14
$('ul li a').click(function () {
$(".topLink").html($(this).html());
});https://stackoverflow.com/questions/4149914
复制相似问题