2014-10-08 4 views
0

Я использую существующий jsfiddle найденный на StackOverflow, , который имеет этот DIV:Set Значение ввода (текстовое поле), вложенное в LI

<div class='sort-me'> 
     <li>Lorem<input style="float:right;"></input></li> 
     <li>ipsum<input style="float:right;"></input></li> 
     <li>dolor<input style="float:right;"></input></li> 
     <li>dolor<input style="float:right;"></input></li> 
     <li>dolor<input style="float:right;"></input></li> 
    </div> 

Я пытаюсь установить текст на входе, но не могу получить это право:

Примеры того, что я пробовал:

$("li").each(function() { 
    $(this).childNodes[0].text('x'); 
    $(this).childNodes[1].text('x'); 

}); 
+1

'$ (это) .find ('вход') Val ('х');'. – Satpal

+0

Значение ввода или текст в слева от входа или обоих? – Anton

+0

спасибо, если вы прокомментируете, тогда я могу принять ответ –

ответ

1

Вы можете использовать .find() для travese в input затем использовать .val(), чтобы установить его значение.

$(this).find('input').val('x'); 

Чтобы найти текстовый узел, вы можете использовать

var textNodeElem = $(this).contents().filter(function() { 
    return this.nodeType === 3; //Node.TEXT_NODE 
}); 
textNodeElem[0].textContent='XYZ'; 
1

Вы можете использовать следующий метод, используя find() и val() методы в JQuery

$("li").each(function() { 
    $(this).find('input').val('x'); 
}); 
Смежные вопросы