2016-11-01 2 views
0

Я хочу использовать jQuery для выбора атрибутов и элементов некоторого HTML-кода, изменить их с помощью jQuery, а затем добавить этот отредактированный html-код в DOM.Селектор JQuery для переменной

Я хочу, чтобы достичь чего-то вроде этого:

var codeExample = $(".stuff").html(); 
$(codeExample).attr("id").val("2412"); 
$(codeExample).find("div #foo").attr("rel").val("bar"); 
$("#element").append(codeExample); 

Возможно ли это? Или мне сначала нужно вставить html-код в DOM, а затем найти его с помощью jQuery и отредактировать?

+6

Это вполне возможно. У вас есть проблема с этим? –

+0

- это мой фиктивный код? –

+0

Вам нужно сохранить 'codeExample' как объект jQuery, а не строку. Это также будет зависеть от того, как DOM структурирована относительно того, будет ли она работать, как вы ожидаете. –

ответ

2
var codeExample = $(".stuff"); 
codeExample.attr("id", "2412"); 
codeExample.find("div#foo").attr("rel", "bar"); 

Хотя ваш id и rel уже модифицирована. Но если вы все еще хотите, чтобы добавить его в #element сделать следующее:

$("#element").append(codeExample); 
+0

Моя ошибка заключалась в том, что var codeExample не был определен, и после этого он рушился, но вы дали мне несколько хороших идей, поэтому приветствие –

+0

Спасибо :) Пожалуйста, отметьте это правильно :) – void

1

Как Рори говорится в комментарии, ваш код будет работать и не должно быть никаких проблем, но, как вы хотите, чтобы заменить содержимое уже помещены в DOM , возможно, было бы полезно использовать $('.stuff').replaceWith(codeExample);.

Вы можете найти более подробную информацию о replaceWith() в the jQuery documentation page.