$("#标识&#34)。VAL(); - vs - $('#id')。val();从模态中获取值未定义

时间:2015-04-26 22:34:09

标签: jquery jquery-selectors modal-dialog undefined

最近,我遇到了一个问题,无法弄清楚为什么我在选择器上未定义,以Div tag的形式从弹出模式中检索id=GetNameID的名称(bootstrap 3.x)

在您查看答案之前,您可能想要猜测两个表单中的哪一个正确返回值...

虽然我不是JS大师,(最后经过大量测试)我终于发现用一个引号代替它来获取名称值而不是Jquery中列出的双引号参考。我已在链接中粘贴了两个引用以引用选择器语法。

$("#GetNameID").val();来自Jquery网站$('#GetNameID').val();来自CodeLindey

  1. 有人可以告诉我为什么单引号在模态和 不是双引号?这是使它独特的模式吗?
  2. 使用jquery语法获取值的正确方法是什么?对于模态和常规页面

1 个答案:

答案 0 :(得分:0)

单引号和双引号 在JavaScript中可以互换,用于字符串文字,因此根据您从中获取代码的位置,您可能实际上拥有了"其他"双引号(例如通常用于字处理器的Unicode对)。

e.g。 “ ”代替" "

这肯定会导致错误,因为它们对于分隔JavaScript字符串文字无效。

评论中提到的另一点是,val()上的div不会返回内容。它将返回一个空字符串。

使用.text()获取文本值(不包含任何元素),或使用.html()获取原始内部HTML。

请参阅此示例了解变体:

<div id="test"><span>My </span>value</div>

alert($('#test').val());   // "" (empty string)
alert($('#test').text());  // "My Value"
alert($('#test').html());  // "<span>My </span>value"

JSFiddle: http://jsfiddle.net/TrueBlueAussie/cookugt6/

注意:我鼓励在JavaScript / jQuery中使用单引号作为字符串常量,因此可以使用双引号来创建文字HTML属性(虽然所有浏览器都可以使用引号,但工具似乎可以更好地使用双引号引号)。

相关问题