0

画像の背景を使用してボタンとしてマスクしているラジオボタンがあります。ユーザーがラジオボタンを含む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);
}
4

1 に答える 1

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);
}
于 2012-08-14T00:28:31.153 に答える