現在、クラス内では、Javascript、CSS、および基本HTMLのみを使用して15個のパズルを作成しようとしています。私はまた、htmlを全く変更することは許されていません。楽しいものです。とにかく、私は私のHTMLに動的なクラス名を追加し、次のようにCSSでそれらを参照することができました。私たちのCSSで動的に追加されたクラス名を使用してdivを移動する方法
var children = document.getElementById("puzzlearea").childNodes;
//iterates through all children
for (child in children) {
//if children is a div then we do something to it
if (children[child].nodeName == "DIV") {
//add a class that corresponds to a css to the current div child that we are on
children[child].classList.add('a' + i);
i = i + 1;
}
}
その後、我々は単に.a15を述べ、それに必要なマージンを割り当てることによって、それを参照することができます、サイズ、画像の配置、およびすべて。しかし、document.getElementById( "。a15")。style.top = "200px"または単に "a15"を使用してIDを参照して移動しようとすると、動作しません。上記の方法はdivを移動するために私がスタック上で見た提案です。次のように
現在、私は何かをしようとしています:
document.getElementsByTagName('div')[15].onclick = function() {
alert("work"); //does actually only happen on correct div
this.style.top = "500px" //still doesn't move it
}
しかし、これでそれはまだそれを移動していない、そしてもちろん、すべてのdivをフェッチします。 "ダイナミックに追加されたクラス名を使ってdivを移動するにはどうすればいいですか?"
編集:位置がCSSで相対的でなければならないと言いますが、直接のiDを経由して、上記の方法ではなく
あなたの問題を明記サンプルフィドルを提供することができますか? –
私は大好きです...しかし、知っている、学術的な仕事。 – SomeStudent
'a15'がクラス名の場合、getElementByIdではなくdocument.getElementsByClassName( 'a15')[0]を使用してください。上部と左のプロパティはCSSでのみ動作します "position:absolute;" https://jsfiddle.net/unj1njt7/ –