Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.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
使用javascript将样式应用于具有class:container的div中的最后一个元素(class:column)_Javascript - Fatal编程技术网

使用javascript将样式应用于具有class:container的div中的最后一个元素(class:column)

使用javascript将样式应用于具有class:container的div中的最后一个元素(class:column),javascript,Javascript,我有以下代码: <div class="container"> <div class="four column">some text</div> <div class="eight column">some text</div> </div> <div class="container"> <div class="six column">some text</div> <di

我有以下代码:

<div class="container">
 <div class="four column">some text</div>
 <div class="eight column">some text</div>
</div>
<div class="container">
 <div class="six column">some text</div>
 <div class="six column">some text</div>
</div>
<div class="container">
 <div class="twelve column">some text</div>
</div>

一些文本
一些文本
一些文本
一些文本
一些文本
现在,我想为每个具有类“container”的div中的最后一个div(类:'column')添加样式
我必须使用javascript来完成它。没有jquery。因此,代码变为:

<div class="container">
 <div class="four column">some text</div>
 <div class="eight column" style='margin-right:0px;'>some text</div>
</div>
<div class="container">
 <div class="six column">some text</div>
 <div class="six column" style='margin-right:0px;>some text</div>
</div>
<div class="container">
 <div class="twelve column" style='margin-right:0px;>some text</div>
</div>

一些文本
一些文本
一些文本
一些文本
您可以使用以下功能:

document.getElementsByClassName("container").lastElementChild.style.marginRight = "0px";
您可以使用以下选项:

document.getElementsByClassName("container").lastElementChild.style.marginRight = "0px";

您可以尝试以下方法:

var containerDivs = document.querySelectorAll('.container');

for (var i=0, iLen=containerDivs.length; i<iLen; i++) {

  var columnElements = containerDivs[i].querySelectorAll('.column');
  var last = columnElements[columnElements.length - 1];
}
甚至可以通过以下方式完全删除循环:

var lastColumns = document.querySelectorAll('.container > .column:last-of-type');
您可以使用纯CSS:

.container > .column:last-of-type {
  margin-right:0px;
}

但IE8也不支持这一点。您可以使用循环和一个函数在缺少getElementsByClassName的浏览器中完成getElementsByClassName的工作。

您可以尝试以下操作:

var containerDivs = document.querySelectorAll('.container');

for (var i=0, iLen=containerDivs.length; i<iLen; i++) {

  var columnElements = containerDivs[i].querySelectorAll('.column');
  var last = columnElements[columnElements.length - 1];
}
甚至可以通过以下方式完全删除循环:

var lastColumns = document.querySelectorAll('.container > .column:last-of-type');
您可以使用纯CSS:

.container > .column:last-of-type {
  margin-right:0px;
}

但IE8也不支持这一点。您可以使用循环和一个函数在缺少getElementsByClassName的浏览器中完成getElementsByClassName的工作。

javascript代码在哪里?此外,您也可以完全用css来实现。根本不需要javascript你的javascript代码在哪里?此外,您也可以完全用css来实现。根本不需要javascript,lastElementChild is和(IE 8也不支持)返回一个集合。lastElementChild is和(IE 8也不支持)返回一个集合。但我希望所有浏览器都支持它。请提供帮助,但我希望所有浏览器都支持它。请帮忙