[英]What's the JavaScript equivalent of this jQuery?
$('. element').css ({
'transform' : 'translate(blah blah);'
});
I like how this is organized compared to the only way I know how to change css with JavaScript. 与我知道如何使用JavaScript更改CSS的唯一方式相比,我喜欢这种方式的组织方式。
Element.style.color='red';
I'm very new to JavaScript so I've never done much with changing css other than very basic stuff. 我对JavaScript非常陌生,因此除了非常基本的内容外,我从未做过太多更改CSS的工作。 I just want to know how you'd write the above jQuery in vanilla JavaScript
我只想知道您将如何使用普通JavaScript编写上述jQuery
Thank you 谢谢
You can try this: 您可以尝试以下方法:
document.getElementsByClassName('element').style.transform = 'translate(blah blah)';
Or this: 或这个:
document.querySelector(".element").style.transform = "translate(blah blah)";
Try below example for the elements other than the first: 请尝试以下示例,以了解除第一个元素之外的其他元素:
document.querySelectorAll('.element').forEach(function(event, index){ if(index === 2){ event.style.transform = 'translate(-80%, -80%)'; } });
#wrapper{ position: relative; width: 100%; float: left; height: 100px; } #wrapper .element{ position: absolute; left: 50%; top: 50%; width: 100px; text-align: center; }
<div id="wrapper"> <div class="element">First Line</div> <div class="element">Second Line</div> <div class="element">Third Line</div> <div class="element">Fourth Line</div> <div class="element">Fifth Line</div> </div>
You can use querySelector to select the first item with a class: 您可以使用querySelector选择带有类的第一项:
document.querySelector(".myClass").style.transform = "rotate(0.5turn)";
<div class="myClass"> Hello </div>
Other alternative is getElementsByClassName which will return an array of elements. 另一个选择是getElementsByClassName ,它将返回一个元素数组。
尝试这个。
document.getElementById("mainbar").style.transform = "scale(2)"
您可以使用以下方法进行jQuery等效:
Element.style.transform = "translate(amount, amount)";
In javascript the equivalent function, to $(selektor)
in jQuery, is document.querySelector(selektor)
or document.querySelectorAll(selektor)
, it depends of the expected number of elements that you want to refer. 在javascript中,等效于jQuery中
$(selektor)
函数是document.querySelector(selektor)
或document.querySelectorAll(selektor)
,它取决于要引用的元素的预期数量。 So Your code can be writen like this: document.querySelector('.element').transform = 'translate(blah, blah)';
因此,您的代码可以这样写:
document.querySelector('.element').transform = 'translate(blah, blah)';
- in case that you want to apply this rule only to the one element with certain class. -如果您只想将此规则应用于具有特定类的一个元素。 If You want to apply this rule to the multiple elements, then you have to use
querySelectorAll
, ale loop through all the elements. 如果要将此规则应用于多个元素,则必须使用
querySelectorAll
,ale遍历所有元素。 So it would look like: var myElements = document.querySelectorAll('.element'); for(var i = 0; i < myElements.length; i++){ myElements[i].style.transform = 'translate(blah, blah)';}
因此它看起来像:
var myElements = document.querySelectorAll('.element'); for(var i = 0; i < myElements.length; i++){ myElements[i].style.transform = 'translate(blah, blah)';}
var myElements = document.querySelectorAll('.element'); for(var i = 0; i < myElements.length; i++){ myElements[i].style.transform = 'translate(blah, blah)';}
To do the equivalent in Javascript you should probably ensure that it applies to all elements with the classname, just like it would in jQuery. 要在Javascript中执行等效操作,您可能应该确保将其应用于具有类名的所有元素,就像在jQuery中一样。 To do that you will have to loop through all the elements, see the second example below.
为此,您将必须遍历所有元素,请参见下面的第二个示例。
Here are two simple examples which should cover your needs: 这是两个可以满足您需求的简单示例:
// One/first element with classname
let element = document.querySelector('.element');
element.style.color = 'red';
// Multiple elements with same classname
let elements = document.querySelectorAll('.element');
elements.forEach(element => {
element.style.color = 'red';
element.style.transform = 'translate(blah blah)';
})
Since you are trying to set the style with class, you can use querySelectorAll()
to loop through all the elements to set the transform
property on each element individually: 由于您尝试使用类设置样式,因此可以使用
querySelectorAll()
遍历所有元素以分别设置每个元素的transform
属性:
document.querySelectorAll('.element').forEach(function(el){ el.style.transform = 'translate(10px, 50px)'; });
.element{ width: 80px; height: 40px; background-color: skyblue; }
<div class="element">Container</div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.