我有一个单选按钮,我使用图像背景将其屏蔽为按钮。当用户单击包含单选按钮的li时,我将单选按钮打包为对象“el”并运行一个函数以使用该元素作为参数获得结果。这在FF和Chrome中工作正常,但我得到一个错误,即元素为null或不是对象。
有人能看到我的问题吗?
var selectedid = $this.find("[type='radio']").attr('id');
document.getElementById(selectedid).checked = true;
var el = document.getElementById(selectedid);
var el = $(el);
showResults( el );
function showResults( el ) {
var id = el[0].dataset['item'];
alert(id);
}
答案 0 :(得分:2)
您的代码效率很低,并且所有浏览器都不支持.dataset
。由于您已经在使用jQuery,我建议您像这样清理代码:
var selected = $this.find("[type='radio']").first().prop("checked", true);
showResults( selected );
function showResults( el ) {
var id = el.data("item");
alert(id);
}