将 'div' 元素作为参数传递给 JavaScript 函数
Pass 'div' element as parameter to JavaScript function
我需要创建、装饰子 'divs' 并将其附加到现有的。比如appendChildren执行后,跟随divs
<div id="a">
<div id="b">
</div>
</div>
应采用以下形式(假设 decorateDiv 在新 div 中添加文本 "This is new div")
<div id="a">
<div id="b">
<div>"This is new div"</div>
</div>
<div>"This is new div"</div>
</div>
这是我的代码
function appendChildren() {
var allDivs = document.getElementsByTagName("div");
for (var i = 0; i < allDivs.length; i++) {
var newDiv = document.createElement("div");
decorateDiv(newDiv);
allDivs[i].appendChild(newDiv);
}
}
function decorateDiv(div) {
var x = document.getElementByTagName("div");
var t = document.createTextNode("This is new div");
x.appendChild(t);
}
我对 JavaSpript 完全陌生。我究竟做错了什么?请帮我修复错误
您传递给函数 'decorateDiv' 的参数 'div' 未在任何地方使用。
您可以像下面这样更改 decorateDiv 函数:
function decorateDiv(div) {
var t = document.createTextNode("This is new div");
div.appendChild(t);
}
希望对您有所帮助!!
您没有使用参数 div
,decorateDiv
应该如下所示:
function decorateDiv(div) {
//div is the object element
var t = document.createTextNode("This is new div");
div.appendChild(t);
}
"allDivs" 变量在将 appendChild 附加到任何 div 时得到更新,因为要存储 "div" TagName 的元素数组。
因此,使用 class 获取 divs.
<div id="a" class="test">
A
<div id="b" class="test">
B
</div>
</div>
这是用户脚本:
function appendChildren() {
var allDivs = document.getElementsByClassName("test");
for (var i = 0 ; i < allDivs.length ; i++) {
var newDiv = document.createElement("div");
decorateDiv(newDiv);
allDivs[i].appendChild(newDiv);
}
}
function decorateDiv(div) {
var t = document.createTextNode("This is new div");
div.appendChild(t);
}
appendChildren();
而且你没有使用传递给修饰函数的参数。
这行得通。试试这个..
我需要创建、装饰子 'divs' 并将其附加到现有的。比如appendChildren执行后,跟随divs
<div id="a">
<div id="b">
</div>
</div>
应采用以下形式(假设 decorateDiv 在新 div 中添加文本 "This is new div")
<div id="a">
<div id="b">
<div>"This is new div"</div>
</div>
<div>"This is new div"</div>
</div>
这是我的代码
function appendChildren() {
var allDivs = document.getElementsByTagName("div");
for (var i = 0; i < allDivs.length; i++) {
var newDiv = document.createElement("div");
decorateDiv(newDiv);
allDivs[i].appendChild(newDiv);
}
}
function decorateDiv(div) {
var x = document.getElementByTagName("div");
var t = document.createTextNode("This is new div");
x.appendChild(t);
}
我对 JavaSpript 完全陌生。我究竟做错了什么?请帮我修复错误
您传递给函数 'decorateDiv' 的参数 'div' 未在任何地方使用。 您可以像下面这样更改 decorateDiv 函数:
function decorateDiv(div) {
var t = document.createTextNode("This is new div");
div.appendChild(t);
}
希望对您有所帮助!!
您没有使用参数 div
,decorateDiv
应该如下所示:
function decorateDiv(div) {
//div is the object element
var t = document.createTextNode("This is new div");
div.appendChild(t);
}
"allDivs" 变量在将 appendChild 附加到任何 div 时得到更新,因为要存储 "div" TagName 的元素数组。 因此,使用 class 获取 divs.
<div id="a" class="test">
A
<div id="b" class="test">
B
</div>
</div>
这是用户脚本:
function appendChildren() {
var allDivs = document.getElementsByClassName("test");
for (var i = 0 ; i < allDivs.length ; i++) {
var newDiv = document.createElement("div");
decorateDiv(newDiv);
allDivs[i].appendChild(newDiv);
}
}
function decorateDiv(div) {
var t = document.createTextNode("This is new div");
div.appendChild(t);
}
appendChildren();
而且你没有使用传递给修饰函数的参数。
这行得通。试试这个..