作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用自定义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/
我是一名优秀的程序员,十分优秀!