0

jQuery 在脚本中的行为非常奇怪。基本上,在使用 jquery 更新 DOM 之后,我试图获取已使用 ID 插入到 DOM 中的文件输入的值。但是如果我尝试直接访问文件元素,我会得到一个空字符串。但是,如果我尝试从父 div 开始访问文件,我会得到正确的值。不幸的是,我需要直接访问它:

alert($("#input_id").val()); //returns empty string
alert($("#div_id > #input_id").val()); //returns correct value.
4

3 回答 3

0

很可能你有双重 id,有些地方检查我的小提琴,看看你之前所说的关于每个函数的内容并不能证明你没有重复的 id。如果您在类似 linux 的系统上,查找重复项的最佳方法是进行搜索或 grep。

find . | xargs grep "input_id"

http://jsfiddle.net/8X2Xq/1/

于 2012-08-18T08:17:28.553 回答
0

您在文档中有重复的 ID,请尝试使 ID 唯一。正如 jQuery 文档所说,如果为多个元素分配了相同的 ID,则使用该 ID 的查询将仅选择 DOM 中的第一个匹配元素

于 2012-08-18T07:48:11.353 回答
-1

正如Pablo Karlsson所建议的,我相信可能有多个元素具有相同的 id,因此 jquery 未能使用它的 id 识别元素的值。

如果您打算直接访问元素值,为什么不能在 jquery 中使用类名特定选择器(如果您有任何类名已应用于您的输入元素)。

于 2012-08-18T07:55:37.693 回答