Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在特定div';使用Javascript创建元素_Javascript_Html_Css - Fatal编程技术网

在特定div';使用Javascript创建元素

在特定div';使用Javascript创建元素,javascript,html,css,Javascript,Html,Css,我知道如何将一个元素附加到另一个元素中,但如何指定要将其附加到哪个类 例如: <div class="main" id="11"> <div class="somethingelse> <div class="moreThings"> /*How to append to this class?*/ </div> <div class="extraThings">

我知道如何将一个元素附加到另一个元素中,但如何指定要将其附加到哪个类

例如:

<div class="main" id="11">
  <div class="somethingelse>
       <div class="moreThings">
         /*How to append to this class?*/
      </div>
      <div class="extraThings">

      </div>
  </div>
</div>
可能有数百个同名的类,这就是为什么我需要用id来定义它们


目前,我将img附加到其他div下,但我想将其附加到“morethings”中。我该怎么做呢?

您可以这样做:

 var x = document.createElement("IMG");
 x.setAttribute("src", "../truck.png");
 document.getElementById(order_id).appendChild(x);
 document.getElementById("btn_transport_"+order_id).style.display = "none";
document.getElementById(order_id).getElementsByClassName("moreThings")[0].appendChild(x);
确保
getElementsByClassName(“moreThings”)
至少返回一个元素

您可以从中找到有关
getElementsByClassName(…)
的更多信息。其要点是:

返回具有所有给定类名的所有子元素的类似数组的对象


你可以这样做:

 var x = document.createElement("IMG");
 x.setAttribute("src", "../truck.png");
 document.getElementById(order_id).appendChild(x);
 document.getElementById("btn_transport_"+order_id).style.display = "none";
document.getElementById(order_id).getElementsByClassName("moreThings")[0].appendChild(x);
确保
getElementsByClassName(“moreThings”)
至少返回一个元素

您可以从中找到有关
getElementsByClassName(…)
的更多信息。其要点是:

返回具有所有给定类名的所有子元素的类似数组的对象

你可以用。它允许类似CSS的选择器。在你的情况下,它可能看起来像

const myElementToAppendTo = document.querySelector('#myID .morethings');
myElementToAppendTo.appendChild(x);
你可以用。它允许类似CSS的选择器。在你的情况下,它可能看起来像

const myElementToAppendTo = document.querySelector('#myID .morethings');
myElementToAppendTo.appendChild(x);

为什么数组[0]?@Luke
getElementsByClassName(…)
返回具有该类名的所有元素的列表,我使用
[0]
获取该列表中的第一个元素。@Luke我很高兴能帮上忙。祝你好运。为什么数组[0]?@Luke
getElementsByClassName(…)
返回具有该类名的所有元素的列表,我使用
[0]
获取该列表中的第一个元素。@Luke我很高兴能帮上忙。祝你好运。我认为在HTML中使用ID是不好的做法,请参阅:@NielsBom那个问题是关于CSS代码而不是JavaScript。你仍然在用ID创建HTML元素,对吗?都是HTML。@NielsBom是的,但说到JavaScript,ID非常有用。我认为在HTML中使用ID是不好的做法,请参阅:@NielsBom,问题是关于CSS代码而不是JavaScript。您仍然在使用ID创建HTML元素,对吗?都是HTML。@NielsBom是的,但说到JavaScript,ID非常有用。