gpt4 book ai didi

javascript - 出现未捕获错误 : Syntax error, 无法识别的表达式

转载 作者:行者123 更新时间:2023-12-02 16:46:54 25 4
gpt4 key购买 nike

我尝试从下面粘贴的 HTML 中获取 Contact_LastName 的值,但收到以下错误

Uncaught Error: Syntax error, unrecognized expression: div #u1@g.com

Javascript:

 $('.rdContact').off("click").on("click", function (e) {
e.preventDefault();
$(this).next("div").toggle();

$('.btn-success').off('click').on('click', function (e) {
e.preventDefault();
var divId = $(this).closest('div').parent().attr('id');
var lnameval = $("div #"+ divId).closest('#Contact_LastName').val();
alert(lnameval);
});

});

HTML:

<input type="radio" class="rdContact" name="ContactGroup" value="u1@g.com" style="">

<div class="row" id="u1g.com" style="display: none;">
<div class="col-md-6">

<div class="form-group">
<div class="col-md-3 control-label">
<label>Last Name:</label>
</div>
<div class="col-md-3">
<input class="form-control pr_input defaultText quiet reqrd" id="Contact_LastName" maxlength="50" name="ContactLastName" type="text" value="">
</div>
</div>

</div>
<div class="col-md-6">
<div class="form-group">
<div class="col-md-3 control-label">
<label>First Name:</label>
</div>
<div class="col-md-3">
<input class="form-control defaultText quiet reqrd" id="Contact_FirstName" maxlength="50" name="ContactFirstName" type="text" value="">
</div>
</div>
</div>


<div class="modal-footer">
<input type="button" value="Add Contact" id="btnSaveContact" class="btn btn-success">
<input type="button" value="Cancel" id="btnCancelContact" class="btn btn-default">
</div>
</div>

最佳答案

发生这种情况是因为 u1@g.com 不是元素 ID 的有效值,因此 jQuery 无法解析您的选择器。

来自HTML4 spec:

ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").

解决方案是为您的 ID 使用有效值。

See also

回复:您在下面的评论中,您收到 undefined 是因为您使用了 closest() 错误(请点击该链接以了解 closest() 的实际用途)。

我敢打赌,您的页面中的多个位置都有 id Contact_LastName,这是一个大问题,因为 id 必须是唯一的。

我也很好奇为什么您要选择 row div 并检索其 ID,以便您可以使用该 ID 在下一行中重新选择它。

不要使用当前的方法,而是删除重复的 ID 并使用以下方法:

$('.btn-success').off('click').on('click', function (e) { 
e.preventDefault();
var row = $(this).closest(".row");
var lnameval = row.find("input[name='ContactLastName']").val();
alert(lnameval);
});

关于javascript - 出现未捕获错误 : Syntax error, 无法识别的表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27051849/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com