我正在使用Mobiscroll Jquery demo,并试图获得在console.log中显示的aria-label的值。目前,每次单击日期时,我都会得到null。有人能帮我解决这个问题吗?
超文本标记语言
<div mbsc-page class="demo-date-picker">
<div style="height:100%">
<div id="demo"></div>
</div>
</div>
JQuery语言
<script>
mobiscroll.setOptions({
locale: mobiscroll.localeEn, // Specify language like: locale: mobiscroll.localePl or omit setting to use default
theme: 'ios', // Specify theme like: theme: 'ios' or omit setting to use default
themeVariant: 'light' // More info about themeVariant: https://docs.mobiscroll.com/5-20-0/calendar#opt-themeVariant
});
$(function () {
// Mobiscroll Calendar initialization
$('#demo').mobiscroll().datepicker({
controls: ['calendar'], // More info about controls: https://docs.mobiscroll.com/5-20-0/calendar#opt-controls
display: 'inline' // Specify display mode like: display: 'bottom' or omit setting to use default
});
});
var inputs = document.querySelectorAll("[aria-label]");
console.log(inputs.length);
for(var i = 0; i < inputs.length; i++){
inputs[i].addEventListener("click", function(e){
console.log(this.getAttribute("aria-label"));
});
}
</script>
1条答案
按热度按时间w9apscun1#
对我来说,你的代码是工作,它登录到控制台:
这是因为当单击带有aria-label的div时,外部div也被单击
通过使用元素的类,可以只选择所需的元素:
x一个一个一个一个x一个一个二个x
你也可以使用其他选择器,例如:
var inputs = document.querySelectorAll("[aria-label]");
我会将click事件添加到所有具有aria-label属性的元素中