我不确定我在这里做错了什么:
var typeSelect = "<input class='typeSelect' type='text' value='test' />";
alert($('input', typeSelect).attr('value'));
答案 0 :(得分:1)
当您将第二个参数作为上下文传递给$()
时,它正在执行此操作:
$(typeSelect).find('input').attr('value')
...由于<input>
不是孩子,因此找不到任何元素。如果<input>
是孩子,it would work。
在你的情况下,因为它不是,你只需要这个:
$(typeSelect).attr('value')
答案 1 :(得分:0)
alert($(typeSelect).val());
我想!?
答案 2 :(得分:0)
JQuery中的第二个参数用于文档范围,因此它用于传递文档类型对象,并用于其他情况,例如,如果要在另一个窗口文档或iFrame内运行JQuery函数。 在您的情况下,您可以使用此技术:
var typeSelect = document.createElement("div");
$(typeSelect).html("<input class='typeSelect' type='text' value='test' />");
alert($(typeSelect).find("input").attr('value'));
这将创建一个带有“div”类型的文档对象变量并将html上下文保存在其中,然后随意对其执行任何操作;)