説明
タグの属性を読み出すにはgetAttribute()を使います。パラメータには取得したい属性名を指定します。属性値を設定したい場合にはsetAttribute()を使います。最初のパラメータに設定する属性名、2番目のパラメータに設定する値を指定します。
サンプルではページが読み込まれると<a>タグのtarget属性が指定されているかどうか調べ、指定されていない場合はtarget属性を設定するようにします。これにより、リンクをクリックすると新たなウィンドウ(またはタブ)で内容が表示されます。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>JavaScript Sample</title>
<link rel="stylesheet" type="text/css" href="main.css" media="all">
<script type="text/javascript" src="main.js"></script>
</head>
<body>
<h1>ノードの属性値を参照/設定する</h1>
<form action="./checknode.cgi" method="get" name="mainForm">
<input type="button" id="setButton" value="ノードの属性値を参照/設定"><br>
</form>
<ul id="linkList">
<li><a href="http://www.yahoo.co.jp/">Yahoo</a></li>
<li><a href="http://www.google.co.jp/" target="find">Google</a></li>
<li><a href="http://www.openspc2.org/" target="find">OpenSpace</a></li>
<li><a href="http://www.goo.ne.jp/">goo</a></li>
</ul>
</body>
</html>
window.onload = function(){
document.getElementById("setButton").onclick = function(){
var linkTag = document.getElementById("linkList").getElementsByTagName("a");
for (var i=0; i<linkTag.length; i++){
var tgt = linkTag[i].getAttribute("target");
if (tgt != "find"){
linkTag[i].setAttribute("target", "find");
}
}
}
}