Есть ли способ установить атрибуты элемента DOM с использованием необработанной строки?Есть ли способ установить несколько атрибутов для одного тега за один проход, используя необработанную строку?
data-attr1name="attr1val" data-attr2name="attr2val" data-attr3name="attr3val"
Да я могу разобрать строку и использовать $(..).attr()
для установки каждого значения, но я искал способ избежать unnessessary двойного преобразования из-за соображения производительности (там может быть много данных, полученных от сервером и множеством атрибутов на один тег, поэтому установка всех атрибутов для одного тега за один проход может дать значительное улучшение в интерфейсе). В любом случае, если у меня уже есть часть reday-to-use санатизированного HTML-кода - почему бы не использовать его напрямую.
UPD: что НЕ дубликата вопрос о том, как установить несколько атрибутов на один вызов, потому что я ищу способ избегания парсинга атрибуты valueas на всех, поэтому следующее решение оленья кожа ответить на мой вопрос:
d.setAttributes({
'id':'my_div',
'class':'my_class',
'styles':{
'backgroundColor':'blue',
'color':'red'
},
'html':'lol'
});
, потому что я до сих пор должны разобрать строку источника такой способ
UPD2 просто для объяснения: эта строка отправляется контроллером, который генерирует его для использования в шаблоне Smarty следующим образом: <a href="#" class="someclasses"{$additional_tags}></a>
, но в этом случае я получаю строку не как переменную smarty, а как часть ответа ajax.
Я не полностью понять, чего вы пытаетесь избежать. Можете ли вы просто отформатировать значение атрибута таким образом, чтобы его можно было легко проанализировать, чтобы извлечь несколько разных значений? – kinakuta
Возможный дубликат [Установка нескольких атрибутов для элемента сразу с помощью JavaScript] (http://stackoverflow.com/questions/12274748/setting-multiple-attributes-for-an-element-at-once-with-javascript) – Pineda
@Pineda nope, а не дубликат, я ищу способ избежать разбора вообще – AlexandrX