【问题标题】:jquery traversing and text replace [duplicate]jquery遍历和文本替换[重复]
【发布时间】: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">&nbsp;</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">&nbsp;</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


【解决方案1】:

试试这个

$('.Filter').each(function() {
  $(this).closest('.Block').find('.BlockTitle').text('Department File Search');
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<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">&nbsp;</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">&nbsp;</div>
  </div>
  <div class="BlockObject">
    <div class="Process" id="17_cbos_departments_table_process_"></div>
    <div class="BlockNotices"></div>
  </div>
</div>

【讨论】:

    【解决方案2】:
    <script>
    
    $(document).ready(function() {
    $('.Block.shadow').each(function(){
      if($(this).find('div.BlockObject .filter')){
        $(this).find('.BlockTitle').html('Department File Search'); 
      }
    });
    
    });
    </script>
    

    【讨论】:

      猜你喜欢
      • 2016-12-26
      • 1970-01-01
      • 2020-03-21
      • 1970-01-01
      • 2023-03-18
      • 1970-01-01
      • 2010-10-30
      • 1970-01-01
      • 2019-02-21
      相关资源
      最近更新 更多