使用以下内容修改父元素:包含子元素

时间:2015-02-09 07:54:01

标签: jquery

我有这样的结构:

<div>
<a>selected text</a>
<a>text</a>
And more text
</div>

现在,我正在使用a获取selected text jQuery :contains,因此我可以修改内部文本。

如何根据div锚标记的存在修改整个selected text的内容?

修改

我尝试过这样的事情:.parent().replaceWith但它不起作用。什么都没有被取代。

我的jQuery:

  jQuery(document).ready(function($) {
    $("a:contains('Thank you for being a CLO subscriber.')").parent().replaceWith($('<span>Thank you for being a CLO subscriber.  You have earned 1 download credits.</span>'));
  });

2 个答案:

答案 0 :(得分:1)

您可以使用parent()closest('div')。试试这个:

var $parentDiv = $('a:contains("selected text")').parent();
//var $parentDiv = $('a:contains("selected text")').closest('div'); // this works too

从那里,您可以使用$parentDiv上所需的任何方法。

答案 1 :(得分:0)

您需要使用.closest('div')来定位所需的div元素。

$("a:contains(selected text)").closest('div').replaceWith($('<span>Thank you for being a CLO subscriber.  You have earned 1 download credits.</span>'));