0

我的页面底部有一个链接,我已经为它分配了一个 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

4

3 回答 3

1

你试图href从一个p元素中读取 - 实际上不存在的元素,因为它.rssincl-itemtitle p元素,它唯一的子元素是a),href如果它存在,它就不会存在。您需要从a元素中读取它:

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

分解那个大表情:

  1. 获取“rssincl-box-”开头的divsid
  2. 获取其中的第一个
  3. 查找该a元素内的.rssincl-itemtitle元素div
  4. 获取href第一个(attr返回集合中第一个匹配的属性)
于 2013-09-24T16:23:24.763 回答
1

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

var nbwahref = $('.rssincl-content .rssincl-itemtitle:first a').attr('href');
$('#nbwalink').attr('href',nbwahref);
于 2013-09-24T16:24:04.027 回答
0

你尝试过这样的事情吗?

var nbwahref = $('.rssincl-itemtitle').find('a').eq(0).attr('href');
$('#nbwalink').attr('href', nbwahref);
于 2013-09-24T16:24:17.750 回答