2016-11-03 4 views
1

Как добавить к элементу внутри строки. Может ли это сделать javascript?Добавить к элементу внутри набора строк

Я отредактировал мой вопрос по какой-то причине

пример:

$(document).click(function(){ 
    var trymeor = "<div class='me'><article><div class='special'></div></article></div>"; 
    console.log($(trymeor).find('.special').append('Hello, am testing')); 
}); 

Так что переменная tymeor теперь стало так:

var trymeor = "<div class='me'><article><div class='special'>Hello, am testing </div></article></div>"; 

Спасибо.

+0

Поскольку вы применяете текст к узлу, вы должны использовать функцию 'text', если вы хотите d с помощью html, вы должны использовать функцию 'html'. Причина, по которой я сомневаюсь в append, - итерация, при последующих прогонах не устанавливая данные, но добавляя к тому, что уже было – Fallenreaper

ответ

5

Что у вас есть правильный подход, но DIV является единственным элементом, и find находок потомка элементов, так что вы просто хотели

var trymeor = "<div class='me'></div>"; 
 
var $element = $(trymeor).text('Hello, am testing'); 
 
    
 
console.log($element.get(0).outerHTML);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

Заметьте, что вы можете создать элементы с jQuery также

$('<div />', {'class' : 'me', text : 'Hello, am testing'}) 

Если вы хотите получить доступ к корневому элементу с помощью select или, вы можете также использовать filter

var trymeor = "<div class='me'></div>"; 
 
var $element = $(trymeor); 
 

 
$element.filter('.me').text('Hello, am testing'); 
 

 
console.log($element.get(0).outerHTML);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

Если вы хотите, чтобы предназначаться как потомков и корневые элементы, вы можете обернуть ваш HTML является контейнером

var trymeor = "<div class='me'></div>"; 
 
var $element = $('<div />', {html : trymeor}); 
 

 
$element.find('.me').text('Hello, am testing'); 
 

 
console.log($element.html());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+0

Что делать, если var trymeor содержит несколько div со специальным классом, и я хочу добавить к специальному элементу класса в строке? ? Потому что я хочу сделать – lernyoung

+0

, пожалуйста, см. мое редактирование, если вы можете помочь. – lernyoung

+0

@lernyoung trymeor - это просто строка, поэтому вы не можете делать манипуляции с ней; вместо этого вы можете использовать тот же метод создания элементов с jQuery, что @adeneo показывает вам создание вложенных элементов (поэтому сначала создайте '.me', затем вставьте' .special'. – chazsolo

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