jquery - 这种类型的 Id 的 Jquery 选择器?
问题描述
我有这样的身份证
<input type="text" id=MyField[1d81c42a-4c8f-45a8-a219-0ff29d328103].Name />
我需要这样做,否则一些 Asp.net mvc 代码在我提交时将无法正常工作,它会尝试将其绑定到模型。
我现在正在尝试对其进行 jquery 选择器,但从未找到该元素
$('#MyField[1d81c42a-4c8f-45a8-a219-0ff29d328103].Name)
我认为括号搞砸了。
解决方案
您的代码不起作用的原因是您的 HTML 输入元素 id 没有像这样双引号您的 HTML 输入
<input type="text" id=MyField[1d81c42a-4c8f-45a8-a219-0ff29d328103].Name />
但一定是这样的<input type="text" id="MyField[1d81c42a-4c8f-45a8-a219-0ff29d328103].Name" />
在 jquery 选择器中,您忘记添加结束引号$('#MyField[1d81c42a-4c8f-45a8-a219-0ff29d328103].Name')
,
jquery id 必须始终是字符串,因此当您使用特殊字符时,某些字符必须使用\\
jQuery Id 文档 中的反斜杠进行转义,这里是链接
这是一个工作演示,希望对您有所帮助。
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
var value = $('#MyField\\[1d81c42a-4c8f-45a8-a219-0ff29d328103\\]\\.Name').val();
alert(value);
});
});
</script>
</head>
<body>
<input type="text" id="MyField[1d81c42a-4c8f-45a8-a219-0ff29d328103].Name" />
<button>Get Value</button>
</body>
</html>
推荐阅读
- haskell - 替换嵌套列表中的元素
- streaming - icecast + Adobe Flash Media Live Encoder
- java - 更新 gradle 后 Flutter 无法解决符号错误
- regex - 正则表达式验证电子邮件:检查几个特殊字符
- python - 获取用户ip地址的正确方法
- c# - 如何修复 Metro Message Box Bug,它不读取表单所有者的大小和位置
- python - Python f-string没有为对象属性格式化空格
- java - 在 PopOS 上安装 Netbeans?
- go - qdockwidget 不低于 qmenubar
- java - How to create button opening another window in JavaFx w/o GUI builder, FXML, swing, or awt?