弹出窗口中的非工作选择器

我有一个弹出窗体,通过ajax请求加载。例如输入:

  <input id="target" type="text" value="123">

和脚本:

  test = $('#target').val();
  console.log(test); //shows nothing
  test2 = $('input#target').val();
  console.log(test2); //shows 123

什么可能是这种行为的原因?输入ID是唯一的。项目是写在YII上,如果它很重要。

0
额外
意见: 1
如果你做了 console.log($(“#target”)。length); ,你会得到一个ID target 的元素吗?
额外 作者 mgraph,
检查你没有相同的id到多个元素,并在弹出加载后尝试了控制台
额外 作者 thecodeparadox,
您可以使用此代码 $('[id = target]')。length 检查是否有多个id target 的元素。检查并分享它在控制台中记录的内容。
额外 作者 Prasenjit Kumar Nag,

1 答案

这种错误通常表明您的页面上存在重复的 id 属性,该属性无效。要测试这种用法:

alert($("#target").length);

如果您看到0或1,则表示正确。如果您看到大于1,则需要修复重复项。

0
额外