我编写脚本时没什么问题。
<div class="col-sm-3 kafelek wolny" name="15" id="9"></div>
警报应该给我输出看起来像小时:分钟。而不是我得到这个:小时:未定义。我真的不知道该怎么做:x
这是HTML代码(生成的PHP)
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_selected="true"
android:color="@android:color/white"/>
<item
android:state_checked="true"
android:color="@android:color/white"/>
<item
android:color="@color/gray_text" />
</selector>
感谢您的帮助。
答案 0 :(得分:2)
div
元素在技术上 具有name
属性。如果要存储一段数据,请将其存储为data-*
属性。像这样:
<div class="col-sm-3 kafelek wolny" data-name="15" id="9"></div>
然后检索它:
var minuta = $(this).data('name');
答案 1 :(得分:1)
尝试使用.attr()
功能,如下所示:
var minuta = $(this).attr('name');
这是有效的,因为在您的情况下name
是属性而不是属性。这适用于您可能添加的任何随机属性,例如foo
。
更好的方法是添加data-name="something"
等数据属性,并使用$(this).data(name)
进行阅读。
工作示例:
$(function(){
$(".wolny").click(function() {
var godzina = this.id;
var minuta = $(this).attr('name');
alert(godzina + ":" + minuta);
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="col-sm-3 kafelek wolny" name="15" id="9"> Click me! </div>
&#13;
答案 2 :(得分:-1)
请改为尝试:
$(function(){
$(".wolny").click(function() {
var godzina = $(this).attr('id');
var minuta = $(this).attr('name');
alert(godzina + ":" + minuta);
});
});
但是,如果可能,我建议您为值使用数据属性。这是一个例子:
<div class="col-sm-3 kafelek wolny" data-hour="9" data-minute="15"></div>
然后,在JavaScript中,您使用“data-hour”和“data-minute”作为属性,而不是像现在这样使用“id”和“name”。