如何使用jquery删除html中的bug字符

时间:2015-01-09 09:25:27

标签: javascript jquery

我的代码中有一个错误,我尝试使用jquery删除它。

一些代码:

<div id="content">
s
<div class="breadcrumb">
<h1>Test and etc</h1> etc etc....

我想使用jquery删除s(如果存在...在某些情况下不存在)

我试过

var cont = $('#content').html();

$('#content').html(cont.replace('/s\s(.*)/','$1'));

认为上面的代码不起作用......有些冒充?

3 个答案:

答案 0 :(得分:1)

不要使用正则表达式通过在HTML上运行替换来删除textnode,直接定位textnode

var content = document.getElementById('content'),
    child   = content.firstChild;

if (child.nodeType === 3) { // if textNode
    content.removeChild(child);
}

FIDDLE

答案 1 :(得分:0)

当DOM为ready时,您需要调用代码。并删除引号。

$(document).ready(function(){
  var cont = $('#content').html();
  $('#content').html(cont.replace(/s\s(.*)/,'$1'));
});

小提琴:http://jsfiddle.net/anj1x7xe/

答案 2 :(得分:0)

我不明白,为什么不直接从HTML源代码中删除它?

代码是自动生成的(也就是说你没有手动编写那里的代码)?因为如果是,我强烈建议你纠正错误本身。你要做的是掩盖一个bug,而不是修复它。获取错误来源并修复错误是一种很好的做法。

唉,如果你真的想这样做:你需要指定你的脚本何时被调用。最有可能的是,您希望将其放入$(document).ready()事件中。

$(document).ready(function(){
  var cont = $('#content').html();

  $('#content').html(cont.replace('/s\s(.*)/','$1'));
});