【问题标题】:jQuery expression not being unrecognizedjQuery 表达式未被识别
【发布时间】:2015-03-27 15:12:59
【问题描述】:

我的视图中有以下 html

<div id="divLoginName" style="display: none">
        <input type="hidden" id="hidLoginName" />
        @Html.TextBox("txtEditLoginName", null, new { maxlength = "1000", tabindex = "0", Multiline = false, @style = "width: 350px;" })
    </div>

以及下面的 jquery 行

  var loginName = $.trim($tr.find(".tdLoginName").html());
  $("#divLoginName input:[type='text']").val(loginName);

我在这一行遇到错误$("#divLoginName input:[type='text']").val(loginName);

错误:语法错误,无法识别的表达式:#divLoginName 输入:[type='text']

【问题讨论】:

  • 应该是:$("#divLoginName input[type='text']").val(loginName);,不带冒号。
  • 你可以做$("#divLoginName input:text")

标签: javascript jquery asp.net-mvc-4


【解决方案1】:

去掉input之后的冒号:

$("#divLoginName input[type='text']")
                     ^^^
                no colon there

【讨论】:

    【解决方案2】:

    获取输入文本的正确方法

    $('input[type=text]');
    

    您要查找的示例如下:(example)

    $('input[type=text][id=txtEditLoginName]').val()
    

    为了明确,如何正确获取它:

    $('div input[name][id][value]')
    

    希望对你有帮助。

    【讨论】:

    • 技术上正确,但是页面上的输入可能比代码 sn-p 建议的要多
    猜你喜欢
    • 2012-07-23
    • 2012-02-29
    • 1970-01-01
    • 1970-01-01
    • 2019-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-24
    相关资源
    最近更新 更多