javascript - 当元素在标记名称中包含点时,Jquery 选择器不起作用

标签 javascript model-view-controller jquery-selectors

我刚刚开始第一次使用 jquery,所以我不确定我所做的是否正确。我想要做的是非常基本的,我有一个脚本,它在 MVC View 中加载时向文本框添加 css 水印。

要选择元素,我执行以下操作:

jQuery(document).ready(function(){$('#Department.DeptName').addWatermark('input-watermarked', 'test');});

然后在我用于添加 css watermarkclass 的脚本中,它在“this.val().length”语句处失败。

jQuery.fn.toggleWatermark = function(watermarkedClass, watermarkText) {
if (this.hasClass(watermarkedClass)) {
    this.removeWatermark(watermarkedClass);
}
else if (this.val().length == 0) {
    this.addClass(watermarkedClass);
    this.val(watermarkText);
}

脚本在元素 ID 为“DepartmentDeptName”的情况下工作正常,就好像当元素 ID 中包含一个点时选择器不起作用一样。有谁知道为什么或如何解决这个问题?

最佳答案

我认为您应该使用双反斜杠转义点:$("#Department\\.DeptName") 请参阅 here .

关于javascript - 当元素在标记名称中包含点时,Jquery 选择器不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3913144/

相关文章:

c# - 用户 Azure 登录失败? System.Data.SqlClient.SqlException

ios - 如何使用swift实现数据模型? (java -> swift )

javascript - 如何使用 jQuery 检查某个元素是否至少具有指定类列表中的一个类?

jQuery 选择器难以理解的问题

javascript - Javascript 问题 - JQuery 和选择器

javascript - 以科学记数法将数字写入 JSON,这样它们就不会被引号括起来

javascript - Chrome 开发工具 : Accessing the DOM element $0 pointer from bookmarklet/Snippet

javascript - 如果用户关闭浏览器而不按注销,如何使状态变为离线状态?

javascript - Angular 模块 md-data-table 服务

java - 我有一个 JSP 页面,单击该页面的提交后,第二个 jsp 未显示