技 巧 鍵 盤 ─ KeyNavi:キーボードを活用してホームページを快適に─    
キー割当表示[Shift-H]        
ホーム KeyNavi対応方法 [0] JavaScript@Keynavi.Netトップ [1] 要素の属性リストを取得 ・サイトマップ [Shift-S]

■ 要素の属性リストを取得

JavaScriptで発展的な機能を実装する場合や ブラウザ間互換性を考える場合、 各要素にどのような属性があるか知りたくなります。

ここでは要素の中身を動的に変更:kl_replace(id,s,mode) を利用して 要素の属性の一覧を作成してみます。

【要素の属性リストを表にして要素「id=lay1」に出力】

<script language="javascript" src="http://www.keynavi.net/files/keynavi_ja.js"></script>
<script language="javascript"><!--
e=document.links[0]; //←これを色々変更して実験してみてください

function tostr(e,i){
        if(KL_IE5 || KL_NS6 || KL_OP6){
                return eval("try { e[i]+'' }catch(err){ '(skipped!)' }");
        }
        return e[i]+'';
}
v=new Array();
for(var i in e){
        v[v.length]="<tr><td>"+i+"</td><td>"+tostr(e,i)+"</td></tr>";
}
v.sort();
kl_replace("lay1","<table border=1>"+v.join("")+"</table>");
//-->
</script>

ランダムな順番で出力されるので ここではソートをかけて 若干読みやすくしています。

Netscape6.xでは属性によっては「e.attr」がエラーになり スクリプトの実行が途中で中断されます。 そこでtry文内で実行するようにしてこの問題を回避しています。

【実行結果:デフォルトではIE6で実行したものを表示】
Methods
accessKey
all[object]
attributes[object]
behaviorUrns[object]
canHaveChildrentrue
canHaveHTMLtrue
charset
childNodes[object]
children[object]
classNameklwlink
clientHeight0
clientLeft0
clientTop0
clientWidth0
contentEditableinherit
coords
currentStyle[object]
dataFld
dataFormatAs
dataSrc
dir
disabledfalse
document[object]
filters[object]
firstChild[object]
hash
hideFocusfalse
hostvoid(0);:0
hostnamevoid(0);
hrefjavascript:void(0);
hreflang
id
innerHTMLレイヤー [Shift-X]
innerTextレイヤー [Shift-X]
isContentEditablefalse
isDisabledfalse
isMultiLinetrue
isTextEditfalse
lang
language
lastChild[object]
mimeType
name
namePropjavascript:void(0);
nextSibling[object]
nodeNameA
nodeType1
nodeValuenull
offsetHeight13
offsetLeft325
offsetParent[object]
offsetTop4
offsetWidth97
onactivatenull
onafterupdatenull
onbeforeactivatenull
onbeforecopynull
onbeforecutnull
onbeforedeactivatenull
onbeforeeditfocusnull
onbeforepastenull
onbeforeupdatenull
onblurnull
oncellchangenull
onclickfunction anonymous() { kl_hlay_toggle(); }
oncontextmenunull
oncontrolselectnull
oncopynull
oncutnull
ondataavailablenull
ondatasetchangednull
ondatasetcompletenull
ondblclicknull
ondeactivatenull
ondragnull
ondragendnull
ondragenternull
ondragleavenull
ondragovernull
ondragstartnull
ondropnull
onerrorupdatenull
onfilterchangenull
onfocusnull
onfocusinnull
onfocusoutnull
onhelpnull
onkeydownnull
onkeypressnull
onkeyupnull
onlayoutcompletenull
onlosecapturenull
onmousedownnull
onmouseenternull
onmouseleavenull
onmousemovenull
onmouseoutnull
onmouseovernull
onmouseupnull
onmousewheelnull
onmovenull
onmoveendnull
onmovestartnull
onpagenull
onpastenull
onpropertychangenull
onreadystatechangenull
onresizenull
onresizeendnull
onresizestartnull
onrowenternull
onrowexitnull
onrowsdeletenull
onrowsinsertednull
onscrollnull
onselectstartnull
outerHTMLレイヤー [Shift-X]
outerTextレイヤー [Shift-X]
ownerDocument[object]
parentElement[object]
parentNode[object]
parentTextEdit[object]
pathname
port0
previousSibling[object]
protocoljavascript:
protocolLong不明なプロトコル
readyStatecomplete
recordNumbernull
rel
rev
runtimeStyle[object]
scopeNameHTML
scrollHeight13
scrollLeft0
scrollTop0
scrollWidth97
search
shape
sourceIndex24
style[object]
tabIndex0
tagNameA
tagUrn
target
title
type
urn




【JavaScript@Keynavi.Net : DOM編 】
「Ctrl-矢印」でフォーカスを上下左右に移動できます。

  - id値からオブジェクト取得:kl_getelem(id)
  - 要素の位置、大きさなど各種属性を処理したい
  - 要素の中身を動的に変更:kl_replace(id,s,mode)
  - 要素の属性リストを取得

トップへ戻る [1]
ホーム KeyNavi対応方法 [0] JavaScript@Keynavi.Netトップ [1] 要素の属性リストを取得 ・サイトマップ [Shift-S]
キー割当表示[Shift-H] ─ KeyNavi Project 2003 ─