替换span元素内的文本时,Replace不起作用

时间:2018-11-16 05:22:02

标签: javascript

我有一个脚本,可以将数学问题(来自mySQL数据库)放在页面上。例如

  • 找到50%的10%
  • 找到60%的10%
  • 找到55%的10%

您明白了。

我写了一个脚本以避免重复第一个单词。它太长了,太复杂了,但是我写了它,对此我是陌生的,为此而感到自豪。

无论如何,该脚本将第一个单词放入一个称为introtext的变量中。

然后,我试图回答我的问题并删除此前言,以免重复出现

var q = q.replace(p1introtext,"");

当introtext的值很像“简化”,“找到”甚至是一个较长的句子时,这确实很好用。但是,如果简介文字包含html格式,例如

<span class = "smaller">Find</span>

然后,“导致程序忽略替换功能。

我确实意识到这里有一个不好的数据库设计元素,但是这是一个很大的问题,要消除所有的span标签会花费很多时间,当使用其他格式的问题时,这实际上是非常有用的。

我不能只使用CSS隐藏.smaller类,因为它也可能出现在我要显示的问题中。

我对如何使用它感到很困惑

4 个答案:

答案 0 :(得分:0)

由于您在文本中使用双引号,因此必须将文本用单引号引起来。

q = '<span="someClass">aVariable</span>';

答案 1 :(得分:0)

var q = '<span="someClass">aVariable</span>';
q = q.replace("aVariable", "");
console.log(q);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

尝试这个

var q = '<span="someClass">aVariable</span>';
q = q.replace("aVariable", "");
console.log(q);

答案 2 :(得分:0)

var q = '<span="someClass">aVariable</span>';
q = q.replace('aVariable', "");
console.log(q);

答案 3 :(得分:0)

Use backticks with template literals并且aVariable在您的代码中不是变量,而是字符串

var q = `<span="someClass">aVariable</span>`;
q = q.replace("aVariable", "a");

Working code