我只是在学习JS / CSS。
这是我正在玩的网站。 http://keysoft.keydesign-themes.com/demo1/
我想使用JavaScript将“.pricing .pricing-row”样式的“text-align”属性更改为“left”。
当我在Chrome控制台(样式)中将其更改为“text-align:left”时,我看到它将行对齐到左侧但保持按钮居中。这就是我想要的。
我在控制台中试过:document.querySelectorAll('.pricing.pricing-row')
但我无法理解如何从那里选择textAlign属性。它显示了一个NodeList。
我也试过了document.getElementsByClassName('pricing-row')
,但有div.pricing-row.button-container
等元素。
这些元素是不必要的,因为如果我在循环中使用它们,那么按钮的对齐将受到影响。 所以我的目标是只对齐“定价行”而不影响按钮或其他部分的对齐。
你能告诉我最有效的方法来完成这项任务吗?
答案 0 :(得分:-1)
我不确定如何在纯JS中执行此操作,但可以使用jQuery。
基本上你的问题是,拥有“price-row”类的21个div中的一些也有其他类,你不想选择那些。实际上,这可以帮助你排除它们。
首先关闭 - 为了在webdev控制台中使用jQuery,请执行以下操作:
$===jQuery // should prompt true
现在:
$("div[class='pricing-row'")
将仅选择具有此特定类的div。然后你可以随心所欲地做任何事情。在你的情况下:
$("div[class='pricing-row'").css('text-align', 'left');
另一个对于no非常有用的选项是jQuery not()方法:
$(".pricing-low).not('.button-container .selector').css('text-align', 'left');
这里发生的是首先选择具有“price-low”类的所有元素,然后not()方法删除具有以下额外类的元素。最后,css操作起作用。