0

我在将链接附加到父元素的 innerhtml 时遇到问题。链接的内容包含在元素中。我正在为内容管理的网站编写此代码,以便用户可以(并且可能会)添加随机段落标签。我试图使用 jquery 来制定我的解决方案,但我似乎遗漏了一些东西(可能非常明显)

继承人的html:

<ul class="publications">
    <li>
        <span class="pub-image"><img src="image1.jpg" alt="image1" /></span>
        <span class="description">
            <p><a title="Report1" href="report1.htm">Report1</a></p>
        </span>
    </li>
    <li>
        <span class="pub-image"><img src="image2.jpg" alt="image2" /></span>
        <span class="description">
            <p><a title="Report2" href="report2.htm">Report2</a></p>
        </span>
    </li>
    <li>
        <span class="pub-image"><img src="image3.jpg" alt="image3" /></span>
        <span class="description">
            <p><a title="Report3" href="report3.htm">Report3</a></p>
        </span>
    </li>
</ul>

我试过这个 jquery 来找到跨度类描述中的链接并将它包裹在两个跨度元素周围

$(document).ready(function(){
    $('.description').each(function() {
        var itemhref = $(this).find('a').attr("href");
        $(this).parent.html("<a href='"+itemhref+"'>" + $(this).parent.html() + "</a>");

    });
});

任何人都可以帮忙吗?

4

1 回答 1

3

首先 $(this).parent 会抛出错误,因为 parent 不是函数,所以你应该像这样调用它

$(this).parent()

其次,您是要添加新段落还是只是锚点?

如果您尝试附加锚点,您可以这样做:

$(document).ready(function() {
    $('.description').each(function() {
        var itemhref = $(this).find('a').clone(true).removeAttr('title');
        $(this).parent().append(itemhref);
    });
  });
于 2012-04-24T15:20:45.557 回答