javascript - 如何从父 div 获取 getElementById 值?
问题描述
setInterval(function(){
var parent = document.getElementByClassName("b");
var child = parent.children[1];
var intext = child.innerHTML;
var price = parseInt(intext.textContent.replace(/,/g,''));
var beforecalf = price - 5000 ;
var beforecals = price - 4000 ;
if(document.getElementById("basic_0")) {
bpricefirst = String(beforecalf).replace(/(\d)(?=(\d\d\d)+(?!\d))/g, '$1,');
bpricesecond = String(beforecals).replace(/(\d)(?=(\d\d\d)+(?!\d))/g, '$1,');
document.querySelector('#thislogin').textContent = bpricefirst;
document.querySelector('#thisnotlogin').textContent = bpricesecond;
}
},1000);
<div class="a">
<span class="first">price :</span>
<span class="second">25$</span>
</div>
<div class="b">
<span class="first">price :</span>
<span class="second">20$</span>
</div>
<div id="basic_0"> <!-- script will run if i have this #basic_0 div -->
</div>
<div id="thislogin"></div>
<div id="thisnotlogin"></div>
我尝试做的是从 .b div 框中带来 .second vlaue(20 美元)。如您所见,名为 a 和 b 的 div 框内部具有完全相同的类名。(第一,第二)
在那里,我必须从 .b div 框中带来 .second 值而不是 .a 所以要做到这一点,我使用了下面的代码,但它不起作用.... :(
var parent = document.getElementByClassName("b");
var child = parent.children[1];
var intext = child.innerHTML;
var price = parseInt(intext.textContent.replace(/,/g,''));
在我尝试这个之前,我这样说
var price = parseInt(document.querySelector('.second').textContent.replace(/,/g,''));
但它带来了 25 美元的价值;; 带 20 美元 vlaue 我要换什么??
任何帮助将不胜感激!谢谢!*不知道原因,为什么它显示为“”......但它是 在这里输入图像描述;;
解决方案
正如你在这里看到的:https ://www.w3schools.com/jsref/prop_node_parentelement.asp
var x = document.getElementById("myLI").parentElement.nodeName;
<ul>
<li id="myLI">Coffee</li>
<li>Tea</li>
</ul>
推荐阅读
- python - 使用 Python 将文本文件中的 Json 数组转换为 CSV
- r - 有没有办法在 R 中列出所有环境(环境名称)
- stripe-payments - C# Stripe 使用默认付款方式创建客户不起作用
- apache-kafka - Kafka:退休记录会影响偏移量吗?
- angularjs - 带参数的AngularJS方法调用
- c - 使用链表制作电话簿系统
- python - Python - Selenium,如何在 Chrome 中自动打印?
- c# - Swagger,用 .net Core 3.0 打开 api
- python - 装饰器会消耗更多内存吗?
- javascript - 使用 VuejS 在 v-model 中传递一个对象