- ベストアンサー
ラベルをつけたところに設定した覚えのないリンクが
ホームページビルダー11を使用しております。 よくわからない現象がでましたので、質問いたします。 トップページ(index.html)から、サイト内の別のページの3つの部分にリンクを設定したいと思い、 3つの部分にそれぞれラベルを作成し、トップページからそれぞれラベルへのリンクを設定しました。 ラベルへのリンクは、設定どおりうまくいったのですが、 アップロードしてみると、ラベルを設定した部分(3つの単語)に下線がついており、 なぜかそこをクリックするとトップページに戻ってしまいます。 もちろんラベルにはトップページへのリンクは設定していません。 ちなみにラベルを作成したページは、エクセルで作った表をHTML形式で保存したものです。 よくわからないながらもソースのところを見てみたのですが、 11のラベルをつけたところには、<A name="11" href="">と書いてありました。 他のページでトップページにリンクしている部分を調べてみるとhref="index.html"となっており、 ""が空欄になっているということは、このラベルからどこか別のところへのリンクは設定されていないという意味だと思うのですが、 実際は、クリックするとトップページへリンクしているのです。 このラベルからのリンクを削除する方法はあるでしょうか。 当方、ホームページ初心者ですので、説明が不十分かと思いますが、不足な部分があれば、補足させていただきます。 ぜひともアドバイスをお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
hrefが存在する時点で<a>タグはリンクとして働きます。 href="xxx"の場合、xxxという「ファイル」が存在すればxxxが呼ばれ、 xxxという「フォルダ(本来はディレクトリといいますが)」が存在した場合、そのフォルダを呼び出します。 この場合は「なにも書かない」つまり相対指定で自分と同じフォルダを呼ぶのです。 ここからはサーバの仕様になるのですが、 [.htaccess]ファイルによる設定で「フォルダ」が呼ばれると、 そのフォルダのindexファイルを呼び出すようになっているのです。 だから<a href="">は自身の存在するフォルダのindex.htmlを呼び出したのです。 <a href="xxx">がリンクをつくって <a name="xxx">がラベルの役割をすると覚えておいてください。 No1の方が「暫定処置でhref=""を消す」って書いてますが 暫定処置ではなく、完全な処置ですので。 ラベルとして使うならhref=""は書いてはいけません。 書いても動作はしますが、リンクとしても機能します。 おまけ Webページ製作ソフトが「ラベル」として<a name="XX">を使っていることで誤解がありますが <a>はanchorの略でアンカーです。 またラベルとは<label>です。 実はまったく別物なんです。
その他の回答 (2)
- mazimekko3
- ベストアンサー率38% (74/194)
> ホームページビルダーで作成したのですが、この現象はプログラムのバグのようなものと考えてよいのでしょうか。 私はビルダー使ってないので詳しくは分かりませんが 意図していないのにリンクとして機能がついていたのならバグでしょう。 > HTMLでは<a name="11">ではなく、<label="11">と書けばよいですか。 すいません最後の「おまけ」は混乱させてしまったみたいですね。 <label="11">とは書かなくてかまいません。 HTMLでの「ラベル」と日用的な意味での「ラベル」が違うのです。 <label>はフォームに使われるHTML要素の「ラベル」です。 <a name="XXX">はアンカーリンクの目印であり、日用的な意味での「ラベル」に相当しています。 本来は「アンカー」と呼ぶべきなのですが、「ラベル」という名称で広がってしまった、ということです。
お礼
ご回答ありがとうございました。よくわかりました(^^♪ ホームページビルダーでお手軽にホームページを作成するにしても やはり多少なりともHTMLの知識は 持っていなくてはだめなんだな、と思いました。 でも、このようなサイトを通じて、 教えていただくことができて、本当に助かりました。 ありがとうございました。
- MAN_MA_RUI
- ベストアンサー率41% (426/1024)
アンカーでやらずラベルでやれば良いみたいですね。よく知らないけど。 http://hpbuilder.net/hpbuilder3.htm#link_flag で、とりあえず手作業ってか暫定処置でhref=""を消すってのもありだったと思いますが?
お礼
早速の回答ありがとうございます。 書いて下さった参考URLにあるとおり、ラベルで作成しているのですが、このような現象になっています。(アンカーというのは何ですか?もしよろしかったら、教えて下さい) が、MAN_MA_RUIさんが暫定処置として教えて下さった「href=""を消す」というのを試してみたら、有効でした\(^o^)/ ソースはよくわからないので、今までさわれなかったのですが、アドバイスいただいたので、思い切ってやってみたら、うまくいきました。とりあえず、問題解決です。ありがとうございました。 根本的な原因(操作方法の間違い・リンクファイルの不備の可能性など)があれば、ぜひ知りたいと思いますので、この質問はもうしばらくこのままにしておきたいと思いますが、とにかく早期に有効な回答をいただきましたこと、お礼申し上げます。
補足
mazimekko3さん、丁寧なご回答ありがとうございました。 href=""の意味やindex.htmlが呼び出されてきた理由も納得でき、とてもすっきりしました。いずれにしても、このような状態になったら、ソースを確認してみることにします。 もしよろしかったら、もう少しだけ教えて下さい。 私はHTMLソースがわからないので、ホームページビルダーで作成したのですが、この現象はプログラムのバグのようなものと考えてよいのでしょうか。 それと「おまけ」に書いて下さったラベルとアンカーの件、つまり今回私がラベルと思って作成したものは、本来はアンカーであるという意味と考えてよろしいのでしょうか。 そうだとすると、HTMLでは<a name="11">ではなく、<label="11">と書けばよいですか。 お時間あるときで結構ですので、よろしくお願いします。