最近,我遇到了一个问题,无法弄清楚为什么我在选择器上未定义,以Div tag
的形式从弹出模式中检索id=GetNameID
的名称(bootstrap 3.x)
在您查看答案之前,您可能想要猜测两个表单中的哪一个正确返回值...
虽然我不是JS大师,(最后经过大量测试)我终于发现用一个引号代替它来获取名称值而不是Jquery中列出的双引号参考。我已在链接中粘贴了两个引用以引用选择器语法。
$("#GetNameID").val();
来自Jquery网站$('#GetNameID').val();
来自CodeLindey
答案 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属性(虽然所有浏览器都可以使用引号,但工具似乎可以更好地使用双引号引号)。