【お題】王手、そして

javascript 初心者です。
下記のスクリプトでmyFunc()の部分に引数をつかって、

function myFunc(arg){
document.arg.src = "pic_b.jpg";
}
<p onclick="myFunc('stage')">Bに入れ替え</p>

のようにしたいのですが、うまくいきません…。
正しいスクリプトを教えてください。
よろしくお願いします。


<html>
<head>
<script type="text/javascript">
<!--
function myFunc(){
document.stage.src = "pic_b.jpg";
}
-->
</script>
</head>
<body>

<p onclick="myFunc()">Bに入れ替え</p>
<img src="pic_a.jpg" name="stage">

</body>
</html>

A 回答 (4件)

#1でいけると思いますが、なにか特殊なブラウザなのでしょうか?



ちなみにnameはユニークを保証しないので非推奨です。
無理にやるならこんな感じで・・・・

<html>
<head>
<script type="text/javascript">
function myFunc(arg){
var tags=document.getElementsByTagName("img");
for(var i=0;i<tags.length;i++){
if(tags[i].name==arg) tags[i].src="2.jpg";
}
}
</script>
</head>
<body>

<p onclick="myFunc('stage')">Bに入れ替え</p>
<img src="1.jpg" name="stage">
<img src="1.jpg" name="stagex">
<img src="1.jpg" name="stage">
<img src="1.jpg" name="stagey">
<img src="1.jpg" name="stage">

</body>
</html>
    • good
    • 0
この回答へのお礼

回答有り難うございます。
再度試してみたところ#1でできました。
こちらの不注意で申し訳ないです。
なるほどnameは非推奨なんですね。勉強になります。
参考にさせて頂きます。

お礼日時:2009/07/28 02:31

>ただ、これだとできないみたいです…。



images[arg] の部分を間違えて、images(arg) にしてるとか?
    • good
    • 0
この回答へのお礼

すみません、先ほどのスクリプトでできました。
教えて頂いたほうは、コピペしたのですが、
onclick="myFunc('stage')"に ' を付けるのを忘れていました…。
不注意で申し訳ないです。再度の回答有り難うございました。

お礼日時:2009/07/28 02:22

function myFunc(arg){


eval("document."+arg).src = "pic_b.jpg";
}

※詳しく知りたいなら、"javascript eval"で検索してみてください
    • good
    • 0
この回答へのお礼

こちらのやり方でもできました。
教えて頂き、有り難うございます。

お礼日時:2009/07/28 02:24

function myFunc(arg){


document.images[arg].src = "pic_b.jpg";
}
かな。テストしてませんけど。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
ただ、これだとできないみたいです…。

お礼日時:2009/07/27 22:55

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


おすすめ情報