Jquery 要替换父div范围内的文本吗

Jquery 要替换父div范围内的文本吗,jquery,Jquery,我的html结构如下 <div> <div class="comments-title-wr clearFix"> <span id="commentsSize" class="comments-title">Some Text</span> </div> <div id="testId"> </div> </div> 但它不起作用你可能想要 $('

我的html结构如下

  <div>
   <div class="comments-title-wr clearFix">
    <span id="commentsSize" class="comments-title">Some Text</span>
    </div>

    <div id="testId">

    </div>

 </div>
但它不起作用

你可能想要

$('#testId').parent().find('.comments-title').text('something else');
试试这个

$('#testId').prev('.comments-title-wr.clearFix').find('.comments-title').text('something else');

您可以使用
同级

.comments title wr
#testId
是兄弟。答案更新了,不知怎的错过了内在的跨度

$('#testId').siblings('.comments-title-wr').find('.comments-title').text('something else');

是一个需要2个参数的js函数。它是一种
String
方法,它不修改原始字符串,而是返回一个新字符串,并应用替换项。但你甚至不需要这个函数。问题是调用jQuery方法时没有参数,它返回元素的文本内容,但得到的只是一个字符串对象,并且无法修改元素本身中的文本。相反,您应该使用带有参数的
text()
版本。感谢Tcovo对此的解释+1:)
$('#testId').prev().children('span').text('something else');
$('#testId').siblings('.comments-title-wr').find('.comments-title').text('something else');
$('#testId').prev().find('span').text('HI');