2015-02-09 224 views
0

包含我有這樣的結構:修改父元素:子元素

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

現在我得到了aselected text使用jQuery :contains,這樣我就可以修改內部文本。

如何根據selected text錨標籤的存在情況修改整個div的內容?

編輯:

我想是這樣的:.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

請包括您使用jQuery代碼。 – 2015-02-09 07:54:50

+0

您的代碼工作精細檢查http://jsfiddle.net/wmwmLh8n/ – Sadikhasan 2015-02-09 07:59:06

+0

看起來很好 - http://jsfiddle.net/arunpjohny/bob5hngw/1/ - 另一種選擇 - http://jsfiddle.net/arunpjohny/bob5hngw/ 2 / – 2015-02-09 07:59:18

回答

1

您可以使用parent()closest('div')。試試這個:

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

從那裏你可以使用任何你需要的方法在$parentDiv

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>'));