1

私はJQueryに慣れていますが、純粋なJavascriptには慣れていません。私はこれを持っています:

document.getElementById("div-id a").style.javascript_property = "color: red;";

もちろん、それは機能しません。私が欲しいのは、id='div-id'を持つ1つの特定のdiv内のすべてのaタグが赤になることです。

jqueryで私は書くでしょう:

$('#div-id a').css('color', 'red');

しかし、私は純粋なjsでそれを必要としています。

4

2 に答える 2

5

使用する:

var div = document.getElementById("div-id");
var list = div.getElementsByTagName("a");
for (var i = 0; i < list.length; i++) {
  list[i].style.color = "red";
}
于 2012-09-05T08:59:49.073 に答える
1

このメソッドは、セレクターではなく、IDgetElementByIdを表す文字列を取ります。手がかりは名前にあります。このメソッドはセレクターを表す文字列を受け取りますが、nodeListを返すため、配列のようにループする必要があります。querySelectorAll

呼び出したjavascript_propertyプロパティ名は、CSSプロパティ名と一致する必要があります(ハイフンでつながれた単語はキャメルケースに変換されます)(したがって、そうする必要があります"color")。

与える値は、ルール全体ではなく、CSSプロパティの値と一致する必要があります(so "red")。

ただし、これは純粋なJavaScriptではありません。querySelectorAllこれはDOMです( Selectors APIからのものを除く)。

于 2012-09-05T09:00:58.743 に答える