2016-03-30 4 views
0

У меня такая проблема:innerHTML.replace работает в jsfiddle, но не в браузере

У меня есть программное обеспечение, которое сделает подтверждение заказа в .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/

+0

Где вы разместили скрипт тега в html? –

+0

Является ли ваш HTML динамически загружен/построен, в отличие от JSfiddle, где он жестко закодирован? –

+0

Почти в конце, как в jsfiddle – Shen

ответ

-1

Попробуйте сделать это в документе OnLoad, если вы используете чистый JavaScript:

(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>/, ''); 
}); 
0

Обратите внимание на то, вы используете id boxik два раза. Вы можете использовать только один идентификатор.

Если вы хотите удалить только один элемент, вы можете использовать что-то вроде:

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

Если вы хотите удалить несколько элементов, которые вы можете выбрать их на основе класса, например:

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

Пример обоих методов: http://jsfiddle.net/LTfyH/81/

Обратите внимание, что я добавил класс remove-me на два элемента.

+0

Проблема в том, что каждый продукт имеет одинаковый id/class (я могу изменить ID в класс). Я не могу выбрать класс, который будет удален, потому что все имеет тот же класс. Именно поэтому я решил использовать метод, который удаляет текст между выбранными словами. – Shen

Смежные вопросы