元素null或不是对象

时间:2012-08-14 00:25:19

标签: javascript jquery forms

我有一个单选按钮,我使用图像背景将其屏蔽为按钮。当用户单击包含单选按钮的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);
}

1 个答案:

答案 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);
}