0
子ノードにアクセスすることで特定の要素をターゲットにしようとするとジレンマが発生します。クリックイベントは機能しませんが、getElementByIdを使用すると動作しますが、理想的には子ノードを経由する必要があります。以下は私のコードです。clickイベントをchildnodeに付けることはできませんが、IDに直接アクセスできますか?
jQuery('#begin_consult').click(function(){
jQuery('.cq-container').show();
jQuery('#begin_consult').hide();
if(jQuery('.option').hasClass('c_questions')){
var y = document.getElementsByClassName('c_questions');
for(var i = 0; i < y.length; i++){
jQuery('.main-body').append(y[i].innerHTML);
var get_age_gparent = document.getElementsByClassName('age-check')[0];
get_age_gparent.style = "display:block;";
var get_age_parent = get_age_gparent.childNodes[1];
var getOptionsDD = get_age_parent.childNodes[3];
var getOptionsUL = getOptionsDD.childNodes[1];
var getInputNo = getOptionsUL.childNodes[1];
var getRadioBtnAge = getInputNo.childNodes[0];
getRadioBtnAge.onclick = function(){
alert('fffff');
};
}
}
});
あなたがちょうど' $を行うことができます知っている... ' – adeneo
私はそれを行うことはできません..: 私がテストや走っていない須藤コードは(』 c_questions。」)。私はいくつかの製品のこのコードを繰り返す必要があるため、入力ラジオボタンにイベントハンドラを追加しようとしています。IDで入力を取得したくありません。 –
'append()'を使って動的に要素を作成するので、[Event Delegation](http://learn.jquery.com/events/event-delegation/)を使う必要があると思われます。 – Satpal