
下の様に取得した要素が、インライン要素かブロック要素かを判断する方法はないでしょうか?
document.onclick = function(evt){
var e = evt?evt.target:event.srcElement;
for (i in e.parentNode.childNodes){
if(e.parentNode.childNodes[i].nodeType ==1 && e.parentNode.childNodes[i] != e){
if(e.parentNode.childNodes[i].style.display =="none"){
alert(e.parentNode.childNodes[i].tagName);
/* ブロック要素かインライン要素かを判定したい!*/
/* インライン要素 */
e.parentNode.childNodes[i].style.display = "inline";
/* ブロック要素 */
e.parentNode.childNodes[i].style.display = "block";
}else{
e.parentNode.childNodes[i].style.display = "none";
}
}
}
}
No.1ベストアンサー
- 回答日時:
こんにちは。
ブロック要素/インライン要素はタグによって基本的な振り分けはなされていますが、それもCSSの設定で変更できてしまいますよね?
なので、少々面倒な気がします。
もしも、御提示のスクリプトでstyle.displayの設定をするのに上記判定が必要というのが目的でしたら、「inline」と「display」はデフォルト設定に、非表示の「none」だけ明示的に設定するということで、対応できそうですが…
表示/非表示 → ""/"none"
という方法ではダメでしょうか?
(この方法だと、HTMLの初期設定は表示にしておかなければならなくなりますが… ロード後に必要な部分は非表示に)
テンポラリな表示状態の判定も、"none"か否かで判別みたいに。
上記以外の目的で判定したいのだとすると、今のところ思いつくのは調べて判定するという方法だけなので、この場合の回答にはならなさそうです。
早速のご回答ありがとうございます。
CSSをよく調べてみました、結果displayの他に
visibility : "visible" 、"hidden"
というのがありました。
これを使うと、元の構造に影響せず、表示・非表示ができました。
ありがとうございました。
No.2
- 回答日時:
#1です。
>visibility : "visible" 、"hidden" というのがありました。
こちらですと、おっしゃるように元の構造を維持したままになるので、
非表示にした時に、場合によっては不自然な空きスペース(空白)ができてしまうことがありますが(特にインライン要素の場合)…
まぁ、使用目的のケースバイケースなので、一概には言えませんが…
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MAX関数を使ってからLEFT JOIN...
-
javascriptでpostした値が取得...
-
タブで開いてさらにタブ内をア...
-
取得した要素がインライン要素...
-
javascriptでオブジェクトの重...
-
javascriptテキストBOX色を元に...
-
iframe内のリンクが飛ばないの...
-
jqueryでhrefの値を取得して代...
-
表示・非表示のスクリプトで、...
-
マウスオーバーでリンク(複数...
-
VBScript+IEのチェックボック...
-
クリックで色変更後に既に変更...
-
【HP作成】クリックすると下...
-
複数のリンク画像を一定時間で...
-
onclickとonmouseoverを同時に...
-
Fire Foxでロールオー...
-
指定したパスが現URLに含まれて...
-
Dreamweaver上とデバイスプレビ...
-
c++std::string型をTCHARに変換...
-
透過pngの透明部分以外をクリッ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MAX関数を使ってからLEFT JOIN...
-
javascriptテキストBOX色を元に...
-
読み込んだQRコードをフォーム...
-
removeAttribute()メソッドで削...
-
IFRAMEの表示/非表示を切り替え...
-
VBAのことについて教えてくださ...
-
javascriptでpostした値が取得...
-
プルダウンメニュ 展開時にずら...
-
removeEventListenerについて
-
クリックすると隠れたテキスト...
-
プルダウンとチェックボックス...
-
指定字数以降隠す
-
自働生成される<div>タグに連番...
-
テキストボックスに入力された...
-
背景色を透明化
-
特定のものにだけスクリプトを...
-
ホームページ(デフォルトペー...
-
テキストエリア内の一部の文字...
-
隣のフレームの中のスタイルを...
-
java折りたたみタグを複数設置...
おすすめ情報