我想更改显示的HTML文本:#shadow root(用户代理)

时间:2018-11-26 09:44:01

标签: javascript html

感谢您的帮助。在网上无处不在后,我没有找到帮助来更改(而不是创建)#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> 感谢您的帮助!

2 个答案:

答案 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”。

HTMLCollection: get value