我有以下代码(实时: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);
我想获得输入隐藏值。但是这段代码不起作用。
有什么想法吗?
答案 0 :(得分:3)
使用$('<html string here>')
创建新HTML时,将创建一个包含所有元素的新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();