我有这样的结构:
<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>'));
});
答案 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>'));