- ベストアンサー
Aタグを文字ではなくタグとして認識させたい
- Aタグを文字ではなくタグとして認識させる方法について教えてください。
- リンクをクリックすると押せなくなる処理を作成しましたが、他のリンクがリンクにならず文字で表示されます。どのように修正すれば良いですか?
- 上記の処理はあまりよろしくない書き方のようです。もっと簡単な書き方があれば教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
innerHTMLじゃないですか? 確かにスマートな書き方じゃないですねぇ。リンクが増えたらタイヘンだ・・・
その他の回答 (1)
- steel_gray
- ベストアンサー率66% (1052/1578)
とりあえず、#1さんのおっしゃるとおり innerTEXT→innerHTMLにすれば動きそうです。 元のスクリプトとはちょっと違うけど下記のようにすると多少はスマートになるかも。 リンクである事に変化はないけど、onclickを操作して無効化。 classを書き換えて有効なリンクとスタイルを変えています。 リンクでなくて、ボタン(<input type="button">)なら disabled属性を書き換えるとかできるんですが。 <html> <head> <title></title> <style type="text/css"> a.Disabled{text-decoration:none;color:#ccc;} </style> <script type="text/javascript"> <!-- function linkcontrol(o){ var Links = document.getElementById('hoge').getElementsByTagName('a'); for(var i=0;i<Links.length;i++) { if(Links[i] == o) { Links[i].onclick=''; Links[i].className = 'Disabled' } else { Links[i].onclick=function(){linkcontrol(this);return false;}; Links[i].className = 'Enable' } } } //--> </script> </head> <body> <p id="hoge"> <a href="#" onclick="linkcontrol(this);return false;">テキスト1</a> <a href="#" onclick="linkcontrol(this);return false;">テキスト2</a> <a href="#" onclick="linkcontrol(this);return false;">テキスト3</a> </p> </body> </html>
お礼
steel_grayさんの書き込みに気付かずに締め切ってしまいました(・ロ・;) とても参考になりました、ありがとうございます(*- -)(*_ _)
お礼
ありがとうございます。 やりたい事が実現できました^^ ソースの方はもう少し考えてみようと思います。