首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery .parents()

jquery .parents()
EN

Stack Overflow用户
提问于 2010-11-10 22:54:42
回答 5查看 826关注 0票数 3

我有一个列表和一个链接,我想更改顶部的链接:

代码语言:javascript
复制
<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

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-11-10 23:46:54

如果<ul><a>是相邻的兄弟姐妹,那么trythis:

代码语言:javascript
复制
$('ul').delegate('a','click',function() {
    $(this).closest('ul').prev().text( $(this).text() );
});

这使用方法获取第一个<ul>祖先,使用方法<ul>遍历到其上一个同级。

如果HTML标记与您提供的标记有任何不同,那么您需要给出一个实际HTML的示例。

票数 1
EN

Stack Overflow用户

发布于 2010-11-10 22:58:59

代码语言:javascript
复制
$('ul').delegate('a', 'click', function() {
    $('.topLink').text($(this).text());
});

这里不需要调用.parents() (它也不起作用)

通过使用.delegate(),您只可以通过将一个事件处理程序绑定到父ul元素来完成这项工作。当然,如果ul有一个id的话,情况会好得多。

参考文献:.delegate()

示例:这里

票数 3
EN

Stack Overflow用户

发布于 2010-11-10 22:58:14

代码语言:javascript
复制
$('ul li a').click(function () {
    $(".topLink").html($(this).html());
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4149914

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档