从标记值jquery中删除动态生成的字符串

Remove dynamically generated string from tag value jquery

本文关键字:动态 字符串 删除 jquery      更新时间:2023-09-26

我有一个代码,看起来像下面的代码,我想删除页面加载时动态创建的字符串:

<nav id="navtop"> Dynamically generated text here 
<ul><li>Item 1</li><li>Item 2</li>...</ul></nav>

问题是,我如何从标记文本值中删除这个字符串"Dynamically generated text here"(它是由页面加载时的脚本动态生成的)?

我正在考虑使用这个代码,但它没有起到作用:

var str = "dynamic text";
var $holder = $('#navtop');
var value = $holder.text();
if(value == str){
$holder:contains(str).remove();
$( "value:contains('dynamic text')" ).remove();

我们非常感谢任何协助。

首先将ul的内容存储在临时变量中

var inside = $("#navtop ul").clone();

使用此代码:

 $("#navtop").html(inside);

这是一个工作小提琴

您可以执行以下操作-

var ulText = $('#navtop ul').text();
var navText = $('#navtop').text();
var textToRemove = navText.substring(0, navText.indexOf(ulText));
$('div').html(textToRemove);
$('#navtop2').html($("#navtop2").html().replace(textToRemove, ''));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Original DOM:
<nav id="navtop">Dynamically generated text here
  <ul>
    <li>Item 1</li>
    <li>Item 2</li>...</ul>
</nav>
Text to remove:
<div></div>
<br/>
<br/>After removing dynamic text:
<nav id="navtop2">Dynamically generated text here
  <ul>
    <li>Item 1</li>
    <li>Item 2</li>...</ul>
</nav>
<span></span>