innerHTML.replace在jsfiddle中工作,但在浏览器中不起作用

时间:2016-03-30 11:28:52

标签: javascript html

我有这样的问题:

我有一个软件可以在.html中进行订单确认。我不得不弄清楚如何降低一些我不想确认的字符串。由于我没有足够的知识,我做了类似的事情:

<script type="text/javascript">
document.body.innerHTML=document.body.innerHTML.replace(/<div id="boxik"><div class="nazwa">SZ.*font>/, '');
</script>

非常不专业的代码可以删除某些div之间的所有内容,但这对我的解决方案来说已经足够了。它在jsfiddle中完美运行,但在任何浏览器中都不行。也许我应该加载如此jquery libary?我不确定这是我寻求帮助的原因。

http://jsfiddle.net/LTfyH/79/

2 个答案:

答案 0 :(得分:0)

请注意您使用ID boxik两次的事实。您只能使用一次ID。

如果您只想删除一个元素,可以使用以下内容:

var el = document.getElementById('boxik');
el.parentNode.removeChild(el);

如果要删除多个元素,可以根据类选择它们,例如:

var elementsToRemove = document.querySelectorAll('.remove-me');

两种方法的一个例子: http://jsfiddle.net/LTfyH/81/

请注意,我在两个元素上添加了类remove-me

答案 1 :(得分:-1)

如果您使用纯javascript,请尝试在文档onload中执行此操作:

(function () {
    document.body.innerHTML=document.body.innerHTML.replace(/<div id="boxik"><div class="nazwa">SZ.*font>/, '');
})(); 

或者如果您使用的是jQuery:

$(function() {
    document.body.innerHTML=document.body.innerHTML.replace(/<div id="boxik"><div class="nazwa">SZ.*font>/, '');
});