javascript - 为什么这个 JavaScript 并不总是有效?

标签 javascript jquery

我正在使用自定义data-使用 jQuery 的元素。

这是 HTML:

<div id="chat" data-chat-name="room1">room1</div>
<div id="chat" data-chat-name="room2">room2</div>

这是 jQuery:

<script>
$("#chat").click(function(event){
    document.getElementById("1").contentWindow.sendCommand("JOIN #" + $(this).attr('data-chat-name'));
});
</script>

我遇到的问题是,只有单击第一个 <div> 时它才有效。即 room1,任何其他点击都将被忽略。为什么是这样?即,如果我单击 room2,则不会发生任何事情,但是当我单击 room1 时,它会起作用。

最佳答案

第一个 ID 必须是唯一的..改为使用类..这样您就可以从这里开始

<div class="chat" data-chat-name="room1">room1</div>
<div class="chat" data-chat-name="room2">room2</div>

在js中

<script>
$(".chat").click(function(event){
    alert($(this).attr('data-chat-name'));
    // with data attr you can use  .data() as well
    alert($(this).data('chat-name'));
});
</script>

其他信息如果您有不同的 ID,您可能需要

 <div id="chat1" data-chat-name="room1">room1</div>
 <div id="chat2" data-chat-name="room2">room2</div>

您可以使用选择器$('[id^="chat"]') ..这意味着选择Ids以chat开头的所有元素

关于javascript - 为什么这个 JavaScript 并不总是有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33914679/

相关文章:

javascript - bootstrap-wysiwyg 编辑器未显示

javascript - 仅在 jQuery Mobile 中抑制某些链接的 AJAX/哈希行为

javascript - JavaScript 保证对象属性顺序吗?

jquery - 如何在嵌套转发器内触发链接按钮的 OnClick 事件

javascript - 使用 jquery failes 调整 div 大小

javascript - Wallet Connect/Web3 Provider 仅通过 imoprting 显示很多错误

javascript - 我的外部 jQuery 文件有什么问题?

php - 使用ajax jquery从数据库中获取数据

javascript - 是否可以通过javascript使一次点击触发两个或更多事件?

javascript - 发送关键方法