電子書籍の厳選無料作品が豊富!

ラジオボタンでcssを切り替える以下のようなプログラムがあるのですが、

$(function(){
entryChange1();
entryChange2();
entryChange3();
entryChange4();
entryChange5();

});

$(window).load(function entryChange1() {
radio = document.getElementsByName('name1');
if(radio[1].checked) {
$('.a,.b').show();
$('.c').css('width','585px');
}else if(radio[0].checked){
$('.a,.b').hide();
$('.c').css('width','270px');
}
});

function entryChange1(){
$("input[name='name1'][value='0']").click(function() {
$('.a,.b').show();
$('.c').css('width','585px');
});
$("input[name='name1'][value='1']").click(function() {
$('a,.b').hide();
$('.c').css('width','270px');
});

}

//entryChange2~5();は省略

ここで使っているnameはphpの方でも扱っているパラメータなのでjavascriptとは切り離したいのですが、idで代替はできますか?
なにか方法があれば教えていただければありがたいです。

A 回答 (1件)

なにをされたいのか、ご提示のコード部だけではよくわかりませんが、


別にname属性をいっさい使わない選択の方法もありますけど、
根本的にもっとすっきりできそうな機がします。

イベント発生時にターゲットノードから、親や子供
兄弟を特定すれば、やたらと識別子をつけなくてもよいような。

まずは、
document.getElementById(id)   =>Node
document.getElementsByName(name) =>NodeList
getElementsByTagName(name)    =>NodeList
といった基本どころから学習して、
form要素だろうから、HTMLインターフェースの
document.forms[].elements[]
みたいな選び方も知った上で、

CSSセレクターの書き方やjquery独自のセレクターもマスターしよう。
そしてXPATHも...
    • good
    • 0
この回答へのお礼

そんなに勉強項目が…

地道にやってみます。
ありがとうございました

お礼日時:2010/11/22 15:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!