如果使用jQuery在Element的子元素中找到,请替换文本

时间:2018-09-05 11:13:29

标签: javascript jquery html

我在页面上呈现了以下HTML:

<tr>
    <td colspan="100" nowrap="nowrap" class="ms-gb">
        <a href="javascript:" onclick="javascript:ExpCollGroup('0-1_', 'img_0-1_',event, false);return false;">
            <span class="commentcollapse-iconouter">
                <img class="commentcollapse-icon" src="Some Image" alt="collapse" id="img_0-1_" data-themekey="#">
            </span>
            iPad_Category
        </a>
         : AL Mobile 
        <span style="font-weight: lighter; display: inline-block;">(7)
        </span>
    </td>
</tr>

enter image description here

现在我的问题是:如果我想在jQuery的帮助下删除关键字iPad_Category,该怎么办?另外,如何用新的文本替换这些文本?例如,: AL-Mobile应该替换为AL Mobile,用jQuery或JavaScript实现此效果的最佳方法是什么?

编辑: 我无法从元素中删除span标记,因为它具有必要的事件绑定。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

您可以获取目标元素的HTML代码,然后使用replace()方法替换并删除所需的部分,最后返回带有替换数据的新HTML并覆盖原始数据,例如:

var new_structure = $("#my-div").html().replace(': AL Mobile', 'AL Mobile').replace('iPad_Category', '');

$("#my-div").html(new_structure);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<table id="my-div">
  <tr>
    <td colspan="100" nowrap="nowrap" class="ms-gb">
      <a href="javascript:" onclick="javascript:ExpCollGroup('0-1_', 'img_0-1_',event, false);return false;">
        <span class="commentcollapse-iconouter">
                <img class="commentcollapse-icon" src="Some Image" alt="collapse" id="img_0-1_" data-themekey="#">
            </span> iPad_Category
      </a>
      : AL Mobile
      <span style="font-weight: lighter; display: inline-block;">(7)
        </span>
    </td>
  </tr>
</table>