Получение входного скрытого значения из строки - PullRequest
1 голос
/ 09 ноября 2011

У меня есть следующий код (вживую: http://jsfiddle.net/xyZY8/1/):

var str = '<div>hello</div><ul><li>Some text...</li>' + 
          '<li>second item</li></ul>' +
          '<input type="hidden" name="some_int" value="15" />';

var myVal = $(str).find("input[name=some_int]").val();

alert(myVal);

Я хочу получить скрытое значение ввода. Но этот код не работает.

Есть идеи?

1 Ответ

3 голосов
/ 09 ноября 2011

Когда вы создаете новый HTML с использованием $('<html string here>'), будет создан новый объект jQuery, содержащий все элементы:

div     When you use `.find()`, the childs of the first element, <div> in this
ul        case, are checked.
    li
    li
input

Используйте filter(), если хотите выбрать одного из этих детей.

var myVal = $(str).filter("input[name=some_int]").val();

Вы также можете заключить HTML в контейнер, чтобы можно было использовать find():

var myVal = $("<div>").append(str).find("input[name=some_int]").val();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...