如何使用javascript切换元素
How to toggle elements with javascript
我在wordpress中使用wooccommerce插件,我不想在我的产品上显示两个不同的价格。
一个是默认值,当用户进入页面时显示,另一个是当用户单击按钮时显示。如果他再次点击相同的按钮,之前的价格应该会再次显示。等等。
因此,对页面上显示的内容进行某种类型的检查,我想这可以在JQuery中完成,但还有其他方法吗?我尝试了一些JQuery,但在wooccommerce中使用它时遇到了一些问题。
<?php
$incl = $product->get_price_including_tax();?>
<p id="excl" class="price"><?php echo $product->get_price_excluding_tax();?> excl.</p>
<button type="button" onclick="document.getElementById('excl').innerHTML = <?php echo $incl;?>">Click Me!</button>
这是单向的,但需要前面提到的检查才能再次以另一种方式使用。
还有一个额外的问题:那些incl和excl税调用破坏了在管理端通过价格格式进行的设置。所以6.000,00表示瞬间变为6000。我尝试过woommerce_price,它有效,但被弃用。有类似的功能吗?在文档中找不到任何内容。
我会将它们都写入DOM,并使用jQuery 中的toggleClass()
<?php
$incl = $product->get_price_including_tax();?>
<div class="mycont">
<p id="excl" class="price excl"><?php echo $product->get_price_excluding_tax();?> excl.</p>
<p id="incl" class="price incl"><?php echo $incl;?> excl.</p>
</div>
<button type="button">Click Me!</button>
带有以下CSS:
.mycont > .price.incl {display: none}
.mycont.show_incl > .price.incl {display: block}
.mycont.show_incl > .price.excl {display: none}
和jQuery:
$('button').on('click', function(){
$('.mycont').toggleClass('show_incl');
});
Fiddle Here
如果你想用纯javascript来做,我建议在按钮上调用函数onClick
事件,并像这里所说的那样切换类
使用
ternary
运算符、condition ? expr1 : expr2
条件(三元)运算符是唯一一个接受三个操作数的JavaScript运算符。此运算符经常用作if语句[Reference]的快捷方式
注意:不要在标记中混淆逻辑。你应该有一个单独的函数。
<p id="excl" class="price">100</p>
<button type="button" onclick="document.getElementById('excl').innerHTML=document.getElementById('excl').innerHTML=='500'?'100':'500'">Click Me!</button>
相关文章:
- 如何访问数组中的数组元素(JavaScript)
- 如何找到从中调用函数的元素(Javascript)
- 另一个元素JAVAscript中的元素位置
- 隐藏元素:Javascript属性和CSS样式之间的区别
- 如何比较数组中的元素(javascript)
- 使用一个函数来不同的元素 JavaScript
- 我需要从数组中获取一些元素 - JavaScript
- 元素 JavaScript 的读取宽度
- 识别数组的最后一个元素 - javascript
- 你如何使 Math.random 数组中的每一个第 9 个元素都是同一个元素?[JavaScript]
- 即时创建 Asp.Net 元素 Javascript
- 在提交表单上动态更改输入元素 javascript
- Kendo UI Grid 获取当前元素 javascript 的 ID
- 在我的 chrome 网上商店应用程序中禁用检查元素/JavaScript 控制台
- Canvas 元素 + Javascript 在 Chrome 和 Firefox 中工作,而不是在 Internet
- 对于在循环中不打印所有元素 - Javascript
- 选择元素 |Javascript vs Jquery.
- 无法删除 DOM 元素(JavaScript,CreateJS)
- 单击元素>JavaScript输出文档.activeElement VS.事件目标
- 当用户在文本框中输入数字时,将动态获得数组元素javascript或PHP