2013-10-01 3 views
0

Можно ли с помощью JQuery для удаления любых стилей, примененных к HTML не через CSS или атрибут стиля, например, здесь:Как удалить встроенный стиль в html с помощью jQuery?

<table width="100%" border="0" cellSpacing="0" cellPadding="0"> 

Я хотел бы удалить ширину границы, CELLSPACING & CELLPADDING.

Я видел это сообщение здесь: Use jQuery to remove an inline style, но он делает это только для определенного атрибута плюс, кажется, применяет его с помощью атрибута style и не удаляет встроенные.

EDIT: Я не хочу, чтобы удалить все, что был применен с использованием атрибута стиля, я хочу, чтобы удалить все, что не была применена с использованием его Благодаря

+0

проверить мой ответ с демо –

+1

Кажется немного странным. Правила CSS должны иметь приоритет над атрибутами таблицы. – Moob

+0

... вы хотите удалить все, что не имеет встроенных стилей? Ваш вопрос, конечно, запутан. Я могу видеть из ответов, что вы хотите на самом деле ** удалить любые стили таблиц, определенные с помощью атрибутов, но сохранить встроенные стили, если они существуют **. –

ответ

9

Предыдущие ответы заявляют, что именно вы не хотите.

не через CSS или атрибут стиля. Я хотел бы удалить ширину, границу, cellSpacing & cellPadding.

$('*').removeAttr('width border cellSpacing cellPadding'); // etc 
+0

Спасибо, но я хотел бы, чтобы это применимо ко всем элементам и всем атрибутам, нужно ли указывать их каждый? – Joly

+0

Обновлен мой ответ, чтобы разрешить все элементы на странице. –

+0

Нет проблем - мы попали туда в конце :) –

10

проверить это один

$('#myElement').removeAttr('style'); 
+0

EDIT: я не хочу удалять все, что было применено с помощью атрибута style. Я хочу удалить все, что не было применено с его помощью. – Joly

+0

Ваш взгляд выглядит лучше :) +1 – Alvaro

+0

@ Джоли вы говорите об удалении встроенных элементов , Все встроенные элементы будут в атрибуте 'style'. – Alvaro

2

вы можете использовать

$('#myElement').removeProp('style'); 

removeProp

Обновленный после OP обновленный вопрос

DEMO

$('#myElement').removeAttr('border'); 

DEMO

$('#myElement').removeAttr('border width cellSpacing cellPadding'); 

Если вы хотите, чтобы удалить атрибуты из всех элементов

$('*').removeAttr('border width cellSpacing cellPadding');

и список атрибутов, которые будут удалены в removeAttr('')

+0

Спасибо. Могу ли я сделать это для всех элементов html на странице? – Joly

+0

@Joly да, вы можете это сделать '$ ('*'). RemoveAttr ('border width cellSpacing cellPadding');' и атрибуты списка, которые нужно удалить внутри 'removeAttr ('')' –

+0

Спасибо большое! – Joly

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