【发布时间】:2016-02-29 19:08:56
【问题描述】:
给出以下html代码
<div id="block_16" class="Block shadow">
<div class="BlockControls">
<div class="DeleteAction BlockAction"></div>
<div class="BlockTitle BlockAction">Department File Maintenance</div>
<div class="BlockTitleField BlockAction"></div>
<div class="HelpAction BlockAction"></div>
<div class="Separator"> </div>
</div>
<div class="BlockObject">
<div class="Filter" id="16_cbos_departments_table_filter_"></div>
<div class="BlockNotices"></div>
</div>
</div>
<div id="block_17" class="Block shadow">
<div class="BlockControls">
<div class="DeleteAction BlockAction"></div>
<div class="BlockTitle BlockAction">Department File Maintenance</div>
<div class="BlockTitleField BlockAction"></div>
<div class="HelpAction BlockAction"></div>
<div class="Separator"> </div>
</div>
<div class="BlockObject">
<div class="Process" id="17_cbos_departments_table_process_"></div>
<div class="BlockNotices"></div>
</div>
</div>
我希望将文本“部门文件维护”更改为“部门文件搜索”,但前提是 div.BlockObject 包含 div.Filter。
我试过了
$('div.Filter').parent().sibling('div.BlockControl').child('div.BlockTitle').text().replace('Maintenance', 'Search');
和
$('div.Filter').closest('div.Block').find('div.BlockTitle').text().replace('Maintenance', 'Search');
两者都不起作用。
请问遍历 DOM 以获得所需结果的正确/最佳方法是什么?
【问题讨论】:
-
var str = $('div.Filter').closest('div.Block').find('div.BlockTitle').text(). var str1 = str.replace(''Maintenance','Search') $('div.Filter').closest('div.Block').find('div.BlockTitle').text(str1 ).试试这个,替换文字后你还没有赋值
标签: javascript jquery dom jquery-traversing