Jquery $(“id”)val();--vs--$(';#id';).val();从未定义的模式获取值

Jquery $(“id”)val();--vs--$(';#id';).val();从未定义的模式获取值,jquery,jquery-selectors,modal-dialog,undefined,Jquery,Jquery Selectors,Modal Dialog,Undefined,最近,我遇到了一个问题,无法理解为什么我在弹出模式(bootstrap 3.x)中使用id=GetNameID从Div标记检索名称时,在选择器上没有定义 在查看答案之前,您可能想猜测这两种形式中哪一种返回的值正确 虽然我不是JS大师(经过大量测试之后),但我最终发现用单引号替换它可以获得名称值,而不是Jquery引用中列出的双引号。我已经在链接中粘贴了两个引用,以引用选择器语法 来自CodeLindey的Jquery站点 有人能告诉我为什么单引号在模态和 不是双重报价?是模态使它独一无二吗 使用

最近,我遇到了一个问题,无法理解为什么我在弹出模式(bootstrap 3.x)中使用
id=GetNameID
Div标记
检索名称时,在选择器上没有定义

在查看答案之前,您可能想猜测这两种形式中哪一种返回的值正确

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

来自CodeLindey的Jquery站点

  • 有人能告诉我为什么单引号在模态和 不是双重报价?是模态使它独一无二吗
  • 使用jquery语法获取值的正确方法是什么?对于模式和常规页面
  • 单引号和双引号在JavaScript中对于字符串文本是可互换的,因此,根据代码的来源,您可能实际上有“其他”双引号(例如,通常用于字处理器的Unicode对)

    e、 g.
    而不是

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

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

    用于获取文本值(无任何元素),或获取原始内部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"
    
    我的价值
    警报($('#test').val());//“”(空字符串)
    警报($(“#测试”).text();//“我的价值”
    警报($('#test').html());//“我的价值”
    
    JSFiddle:


    注意:我鼓励在JavaScript/jQuery中对字符串常量使用单引号,这样就可以使用双引号来创建文本HTML属性(虽然所有浏览器都可以接受任何一个引号,但使用双引号的工具似乎工作得更好).

    只要开始引号和结束引号匹配并且没有被未转换的相同类型引号打断,javascript字符串就没有区别。请提供演示,复制您的建议。模态和非模态是不相关的…这都在同一个域中。错误的是,您不能在
    上使用
    val()
    ,它用于从表单控件元素获取
    值,正如charlietfl提到的,您可能想要
    $(“#GetNameID').html()