为什么可以';我不能在jQuery中选择我的值吗?

为什么可以';我不能在jQuery中选择我的值吗?,jquery,html,Jquery,Html,这真令人沮丧。我一直这样使用.val(),但现在它不起作用了 我正在使用jqueryv1.7.2 我有一个facebox,我用一个隐藏值启动它,这样我就知道当facebox完成时,我应该在主页上更改什么值 我有以下HTML代码: 在jQuery中,我记录了: console.log($('[name="testname"]')); console.log($('#testid')); console.log($('#testid').val()); console.log($('[name="

这真令人沮丧。我一直这样使用.val(),但现在它不起作用了

我正在使用jqueryv1.7.2

我有一个facebox,我用一个隐藏值启动它,这样我就知道当facebox完成时,我应该在主页上更改什么值

我有以下HTML代码:

在jQuery中,我记录了:

console.log($('[name="testname"]'));
console.log($('#testid'));
console.log($('#testid').val());
console.log($('[name="testname"]').val());
这就产生了:

[<hidden type=​"hidden" value=​"hello" id=​"testid" name=​"testname">​</hidden>​]
[<hidden type=​"hidden" value=​"hello" id=​"testid" name=​"testname">​</hidden>​]
(empty line)
(empty line)
[​​]
[​​]
(空行)
(空行)
那么为什么我不能访问这个值呢

我将facebox与AJAX结合使用,我知道如果我将facebox与divs结合使用,它将复制dom元素,这样我就可以得到两个具有相同ID的元素,但这不应该发生在AJAX中,而且我会在前两行中得到更多返回的元素,不是吗? 奇怪的是,如果我检查Chrome中的元素,我会发现输入框已更改为:

<hidden type="hidden" value="hello" id="testid" name="testname"></hidden>


但也许这不重要?

没有隐藏的元素。你是说

如果您确实想要使用自定义元素,我相信您必须使用以下方法:

HTML中没有
元素,因此jQuery没有支持其
val()
方法所需的特殊处理

您需要
。通常,最好通过一个能够识别此类错误的自动程序运行HTML


(你也可以使用
attr('value')
,但是编写有效的HTML是一个更好的主意)

谢谢!我不想使用那种类型,我想要输入类型,但我自己对其他东西一无所知,所以我没有看到明显的错误:)非常感谢!@DavidEverlöf这是一个容易犯的错误,很高兴它有帮助!
console.log($('#testid').prop("value"));