jQuery如何在子元素中获取链接的href并在其他地方使用它

时间:2013-09-24 16:20:54

标签: jquery parent-child

我的页面底部有一个链接,我已将ID分配给...

<a id="nbwalink" class="learn-more">
  Learn more
</a>

在此之上,我在页面中插入一个RSS提要,输出第一个链接为...

<div id="rssincl-box-767647">
  <div class="rssincl-content">
    <div class="rssincl-entry">
      <p class="rssincl-itemtitle">
        <a target="_blank" href="http://something.com/somesubfolder/somepage.html">
          Description of Link
        </a>
      </p>

...you get the idea.

我试图像这样使用jQuery ......

var nbwahref = $('.rssincl-itemtitle').children('p').eq(0).attr('href');
$('#nbwalink').attr('href',nbwahref);

...从RSS链接中窃取链接并将其应用于“了解更多”按钮。有没有办法做到这一点,我不能让它工作? = T

3 个答案:

答案 0 :(得分:1)

您需要阅读href元素中的p - 实际上不存在的元素,因为.rssincl-itemtitle p 1}}元素及其唯一的子元素是a),如果它存在则不会有href。您需要从a元素中读取它:

var nbwahref = $("div[id^=rssincl-box-]")
                   .first()
                   .find(".rssincl-itemtitle a")
                   .attr("href");
$("#nbwalink").attr("href", nbwahref);

打破那个大表达:

  1. 从“rssincl-box - ”
  2. 开始,div 获取id
  3. 获取第一个
  4. a
  5. 中查找.rssincl-itemtitle元素内的div元素
  6. 获取第一个hrefattr返回集合中第一个匹配项的属性)

答案 1 :(得分:1)

您的选择器错误,因为p不是rssincl-itemtitle元素的子元素,prssincl-itemtitle元素,您需要找到p的子元素元素

var nbwahref = $('.rssincl-content .rssincl-itemtitle:first a').attr('href');
$('#nbwalink').attr('href',nbwahref);

答案 2 :(得分:0)

你尝试过这样的事吗?

var nbwahref = $('.rssincl-itemtitle').find('a').eq(0).attr('href');
$('#nbwalink').attr('href', nbwahref);