2016-05-19 6 views
-1

У меня есть этот JQuery:Удаление стилей CSS В Нерегулярное Метки Материалы

$(".note-editable").bind("paste", function() { 
    var elem = $(this); 
    setTimeout(function() { 
     var prod_desc_text = elem.html(); <<< this can contains <p>, <span>, <h1>, <h2>, etc tags with style attribute 

     prod_desc_text = prod_desc_text.$("*").removeAttr("style"); <<< I want to remove all style attribute 

     elem.html(""); 
     elem.append(prod_desc_text); 
    }, 100); 
}); 

Как удалить все style атрибут в prod_desc_text переменной?

Я пробовал с: prod_desc_text = prod_desc_text.$("*").removeAttr("style");, но, похоже, мой выбор не работает.

спасибо

ответ

1

Это часть строки HTML. Вы не можете использовать материал jQuery для строк. Преобразуйте его в HTML-элемент, а затем примените к нему jQuery. Вы должны попробовать это:

$(prod_desc_text).find("*").removeAttr("style").html(); 

Отрывок с использованием другого метода.

$(function() { 
 
    var prod_desc_text = '<p style="margin: 0;">Hello</p><p>Hello</p><div style="text-align: center;">Hello</div>'; 
 
    var a = $("<div />", {html: prod_desc_text}); 
 
    console.log(a.find("*").removeAttr("style").end().html()); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>