Javascript getelementsbyname(在Ajax html响应中),当我有一个部分名称时。
我被困在jQuery世界的角落里,肯定需要一些帮助 简而言之,我使用jQuery(GET)进行Ajax调用,并获得一个XHTML页面作为响应。在响应中(包括Javascript getelementsbyname(在Ajax html响应中),当我有一个部分名称时。,javascript,jquery,ajax,html-parsing,Javascript,Jquery,Ajax,Html Parsing,我被困在jQuery世界的角落里,肯定需要一些帮助 简而言之,我使用jQuery(GET)进行Ajax调用,并获得一个XHTML页面作为响应。在响应中(包括、和标记等),有一个输入元素,我只知道其名称的一部分。我需要得到这个隐藏输入字段的值,它与响应一起出现 p、 我无法控制html响应的外观,因此无法重新格式化。 这些文件需要放在包含jQuery.js(当前最新版本)的文件夹中 这就是我到目前为止想到的 Page1.html(进行Ajax调用并获取page2.html作为响应) 运行此 $(
、
和
标记等),有一个输入元素,我只知道其名称的一部分。我需要得到这个隐藏输入字段的值,它与响应一起出现
p、 我无法控制html响应的外观,因此无法重新格式化。
这些文件需要放在包含jQuery.js(当前最新版本)的文件夹中
这就是我到目前为止想到的
Page1.html(进行Ajax调用并获取page2.html作为响应)
运行此
$(文档).ready(函数(){
$('input')。单击(函数(){
$.ajax({
键入:“获取”,
url:'page2.html',
数据类型:“html”,
成功:功能(数据){
警报($(数据).filter('input[name*=“test”]').value);
},
错误:函数(){
警报(“抱歉,找不到请求的属性。”);
}
});
});
});
返回jQuery对象,而不是DOM元素,因此必须使用该方法而不是值
属性:
alert($(data).filter('input[name*="test"]').val());
我刚刚复制了您的设置,发现了两个问题,您需要解决才能使其正常工作
两者都在这条线上:
alert($(data).filter('input[name*="test"]').value);
首先,它应该结束.val()
其次,您需要一个子集的值。选择第一个匹配项并返回该匹配项的值:
alert($(data).first('input[name*="test"]').val())
为什么这毫无意义?此外,为什么在将标记添加到文档后执行完全相同的操作更有意义呢?您是对的,我考虑了多个匹配结果,但我的代码将呈现相同的问题。现在编辑…再次测试,我的设置将返回结果。他的设置返回“未定义”。开放的建议,为什么,但上述工作很好。感谢你的快速回答,你能给我一个“良好的做法”这样做的方式的例子吗?当做Amir@Chris,这是因为提问者的HTML标记无效。我刚刚意识到你的标记无效:哦,是的,这是我的错,但这不是问题所在!测试@阿米尔,奇怪,这对我来说很好用。
alert($(data).filter('input[name*="test"]').value);
alert($(data).first('input[name*="test"]').val())