感谢您的帮助。在网上无处不在后,我没有找到帮助来更改(而不是创建)#shadow-root中的html文本:删除逗号(用于法语格式)。 (大数字:美国数字格式的千位分隔符)
这是html源代码:
<div id="numbers">
<input type="text" id="sleeping"></input>
</div>
这是Chrome浏览器DevTools(F12)中的代码!
<div id="numbers">
<span class="e-widget e-pinch e-numeric e-valid">
<span class="e-in-wrap e-box e-padding">
<input type="text" data-role="none" tabindex="0" accesskey="" value="8000" class="e-input" style="display: block;">
#shadow-root (user-agent)
<div>8,000</div>
</input>
<input type="text" id="sleeping" class="e-numerictextbox e-js e-input" tabindex="" accesskey="" name="sleeping" role="spinbutton" aria-valuemin="0" aria-valuemax="10000" aria-valuenow="8000" aria-live="assertive" value="8000" style="display: none;">
#shadow-root (user-agent) == $0
<div>8000</div>
</input>
<span class="e-select">
<span class="e-spin e-spin-up " role="button" "aria-label"="Increase Value" unselectable="on">
<span class="e-icon e-arrow e-arrow-sans-up" role="presentation" unselectable="on">
::before
</span>
</span>
<span class="e-spin e-spin-down" role="button" "aria-label"="Decrease Value" unselectable="on">
<span class="e-icon e-arrow e-arrow-sans-down" role="presentation" unselectable="on">
::before
</span>
</span>
</span>
</span>
</span>
</div>
所以我想删除逗号:带有Java代码的8000到8000。但是我不知道如何在#shadow-root下访问div <div>8,000</div>
感谢您的帮助!
答案 0 :(得分:1)
首先,您需要获取元素的shadowRoot
,然后找到其子节点并更新内容。
const input = document.getElementsByTagName("input")[0];
const shadow = input.shadowRoot;
const element = shadow.firstChild; // the div you want to access
element.innerHtml = element .innerHtml.replace(/\,/g,'');
答案 1 :(得分:0)
这是一张图片:这是Chrome DevTools(F12)所显示的; 我想在一个变种中获得“值:4,000”。