- ベストアンサー
<A>タグを取り除く方法
あけましておめでとうございます。 2007年初登場です。 <A HREF="BBB.html">画像(旅行1)</A> というリンクのタグだけをボタンをクリックして取り除くことはできるでしょうか。 できれば、<SPAN></SPAN>などのタグに差し替えて、<SPAN>画像(旅行1)</SPAN>のようにできれ最高です。 よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
どんな方法でもよろしければ var A=document.getElementsByTagName('a') var c=A.length for(var i=0;i<c;i++){ A[0].removeAttribute("href",false) A[0].outerHTML = A[0].outerHTML.replace(/A/,"SPAN").replace(/\/A/,"/SPAN") } alert(document.body.innerHTML) こんな感じですかね。 対応ブラウザを広げるなら document.getElementsByTagName('a')をdocument.links removeAttribute("href",false)をhrefなどでいろいろ試してください。 それと動作確認はしていませんので流れだけヒントにしていただければ・・・
その他の回答 (4)
- NTJ
- ベストアンサー率44% (46/103)
ん~、目的はAエレメントを外したいというより、 リンクを非リンクに切り替えたいのですよね? もしそうであれば、発想を転換して・・・ <SCRIPT> function ch(id){ if(document.getElementById('A'+id).style.display=='inline'){ document.getElementById('A'+id).style.display='none'; document.getElementById('S'+id).style.display='inline'; }else{ document.getElementById('A'+id).style.display='inline'; document.getElementById('S'+id).style.display='none'; } } </SCRIPT> <A HREF="BBB.html" style="display:inline;" id="A1">画像(旅行1)</A><SPAN style="display:none;" id="S1">画像(旅行1)</SPAN> <INPUT type=button onclick="ch("1");" value="1"> という手法もあります。 displayで切り替える手法は、画面ロード時に全て読み込んでエレメントを生成してしまうので、切り替えが非常に迅速です。 利用者側から見ると、このほうがストレスが少ないかと。
- yambejp
- ベストアンサー率51% (3827/7415)
判定など多少はしょって書くとこんな感じがベターでは? <script language=javascript> function a2span(href){ var tags=document.getElementsByTagName("a") for(var i=0;i<tags.length;i++){ if(tags[i].href.indexOf(href)!=-1){ spanTag = document.createElement("SPAN"); str = document.createTextNode(tags[i].innerHTML); spanTag.appendChild(str); var nextEl = tags[i].nextSibling; document.body.insertBefore(spanTag, nextEl); document.body.removeChild(tags[i]); } } } </script> <A HREF="AAA.html">画像(旅行1)</A> <A HREF="BBB.html">画像(旅行2)</A> <A HREF="CCC.html">画像(旅行3)</A> <input type="button" onClick="a2span('BBB.html')" value="AをSPANに">
- venzou
- ベストアンサー率71% (311/435)
<html><body> その他の文章<br> <SPAN id="BBB"> <A HREF="BBB.html">画像(旅行1)</A> </SPAN> <br>その他の文章<br> <A href="#" onClick="document.getElementById('BBB').innerHTML='画像(旅行1)'">ボタン</A> </body></html> こんな感じでどうでしょう? 予めidつきのSPANで囲っておいてSPANのinnerHTMLを変更します。
- Oh-Orange
- ベストアンサー率63% (854/1345)
★置換処理をすればよい。 ・メモ帳などで検索文字列に『<A HREF="BBB.html">』、置換文字列に『、<SPAN>』にすればよい。 ただし、『BBB.html』の部分が全て違うのならば重労働ですが…。 ・『</A>』は『</SPAN>』に簡単に置換できます。 ・『BBB.html』の部分が違うときは、検索文字列に正規表現が使えるエディタなどやを フリーソフトの置換ユーティリティで行えます。 ・『Vector』さんで探せば直ぐに見つかると思いますよ。 ・以上。短いですがおわり。