removeAttr внутри строки html

0

Я хочу удалить attr из строки html. У меня есть этот код

 var htm = result.Html;
            $(htm, 'div').each(function () {
                    $(this).removeAttr('ondragover');
                    $(this).removeAttr('ondragleave');
                    $(this).removeAttr('ondrop');
            });
            $('#divLayout').html(htm);

но проблема строка остается как оригинальное уведомление: result.Html equal:

    <div class="updiv containertwo" ondrop="drop(event)" ondragleave="dragleave(event)" ondragover="allowDrop(event)"></div>
    <div id="fchoise" class="detdiv containertwo">
        <div id="df4a6783-beb2-2cdf-0b1d-611c4d7b195f" class="div1" ondrop="drop(event)" ondragleave="dragleave(event)" ondragover="allowDrop(event)"></div>
    </div>
    <div class="updiv containertwo" ondrop="drop(event)" ondragleave="dragleave(event)" ondragover="allowDrop(event)"></div>
    <div id="ghchoise" class="containertwo detdiv">
        <div id="932e29b5-b6fe-97f5-d3dc-21768291ec90"  class="lefts" ondrop="drop(event)" ondragleave="dragleave(event)" ondragover="allowDrop(event)"></div>
        <div id="cfac8011-0e4e-3eba-aaaa-ac36b58b1512"  class="rights" ondrop="drop(event)" ondragleave="dragleave(event)" ondragover="allowDrop(event)"></div>
    </div>
    <div class="downdiv containertwo" ondrop="drop(event)" ondragleave="dragleave(event)" ondragover="allowDrop(event)"></div>
    <div id="thchoise" class="containertwo detdiv">
        <div id="3b8b92b3-45f9-54b2-b01a-60b60f65f175"  class="lefts" ondrop="drop(event)" ondragleave="dragleave(event)" ondragover="allowDrop(event)"></div>
        <div id="c73e2dc9-9980-774b-5d50-c35336d8201d"  class="rights" ondrop="drop(event)" ondragleave="dragleave(event)" ondragover="allowDrop(event)"></div>
    </div>
    <div class="downdiv containertwo" ondrop="drop(event)" ondragleave="dragleave(event)" ondragover="allowDrop(event)"></div>
  • 2
    также расскажите, что вы пытаетесь сделать ... это похоже на подход, который вы используете, чтобы решить какую-то проблему, но что это за проблема.
  • 0
    Не могли бы вы разместить свой код на jsfiddle.net ?
Показать ещё 2 комментария
Теги:

2 ответа

2
Лучший ответ

изменение объекта jQuery не будет изменять исходную строку, поэтому вам нужно

var htm = result.Html;

var $tmp = $('<div />', {
    html: htm
});
$tmp.find('div[ondragover]').removeAttr('ondragover');
$tmp.find('div[ondragleave]').removeAttr('ondragleave');
$tmp.find('div[ondrop]').removeAttr('ondrop');

$('#divLayout').html($tmp.html());

Демо: скрипка

0

Это очень просто, см.

var $html = $('<div />', {html: result.Html});
$html.find('div').removeAttr('ondragover ondragleave ondrop');

$('#divLayout').html($html.html());

Смотрите это в действии: http://jsfiddle.net/caio/JWaLc/

Ещё вопросы

Сообщество Overcoder
Наверх
Меню