gpt4 book ai didi

javascript - 限制 jQuery id 字符串吗?

转载 作者:行者123 更新时间:2023-12-01 02:24:57 25 4
gpt4 key购买 nike

简单来说,我的问题是字符串作为 jQuery 中的可搜索 id 或可搜索内容有什么限制。

<小时/>

更新:我得到了 ID 部分,但不是为什么我什至无法使用该字符串搜索 html 内容。对于任何愿意告诉我一个正则表达式来将模式从“MM/dd/yy HH:mm:ss”更改为“MMddyyHHmmss”的人来说都是一个奖励

<小时/>

详细信息如下:

我正在尝试获取多个<p>内的文本使用 jQuery。

我添加它们的方式是使用以下代码:

$("<p>"+data.timeStamp + " _ " + data.text +"</p>")
.addClass(data.source)
.attr("id", "msg_"+data.userId+"_"+data.timeStamp)
.appendTo($("#messages_"+data.userId));

它们看起来不错,我可以添加尽可能多的。但是,我需要获取每个文本中的文本才能附加响应。我用userIdtimeStamp找到我需要附加到哪一段。如果timeStamp它工作得很好。只是一个数字(例如,由 java servlet 创建为

SimpleDateFormat df = new SimpleDateFormat("MMddyyHHmmss");

但是如果时间戳稍微复杂一点,jQuery 就无法找到它:

SimpleDateFormat df = new SimpleDateFormat("MM/dd/yy HH:mm:ss"); 

甚至

SimpleDateFormat df = new SimpleDateFormat("MM-dd-yy HH.mm.ss"); 

我都尝试了

var txt = $("#msg_"+data.message.from+"_"+data.message.timeStamp).html();

var txt = $("#messages_"+data.userId).find(":contains('"+data.message.timeStamp+"')").html();

没有效果。

JSON 在 ajax 调用期间可以很好地编码和解码,因为 console.log (response.timeStamp);将给出正确的输出。

有什么想法吗?我应该以某种方式逃避timeStamp字符串以在 jQuery 搜索中使用它?

PS 1:如果您发现任何语法错误,很可能是由于示例代码的剪切和粘贴以及简化造成的,因为使用简单的时间戳我可以使其工作真正的js文件。

PS 2:我知道在我的具体情况下的解决方法是使用两个不同的字符串,一个用于文本中的时间戳,一个(更简单)用于 id,但这确实不能帮助我理解这里的限制。

最佳答案

您的元素 ID 需要一个有效的值。来自 html 4 规范:

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 中使用冒号和句点时,您可能会遇到 jQuery css 选择器的问题,因为它们被 jQuery 解析为类名和伪元素。

所以你的元素 ID 应该只包含字母、数字、连字符和下划线。

关于javascript - 限制 jQuery id 字符串吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5619929/

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