1

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

所以我想用 Javascript 代码删除逗号:8,000 到 8000。但是我不知道如何访问<div>8,000</div>#shadow-root下的div 感谢您的帮助!

4

2 回答 2

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,'');
于 2018-11-26T09:55:08.800 回答
0

这是一张图片:这是 Chrome DevTools (F12) 显示的;我想在 var 中获得“值:4,000”。

HTMLCollection:获取值

于 2018-11-26T16:50:27.823 回答