Javascript HTML DOM 选择

标签 javascript

我有一个关于使用 javascript 选择 HTML 元素的问题。

这是我的代码:

Javascript

<script>
    function changeText() { 
        document.getElementsByClassName("CentralContainer")[0].getElementsByClassName("PlayFlowSelect")[0].childNodes[1].innerHTML = "Custom Stream";
                }
</script>

HTML

<div class="CentralContainer">
        <div class = "PlayFlowSelect">
            <input type="image" src="./Home Page Resources/ArrowLeftIcon.png" onclick="changeText()">
            <h2> Top Stories </h2>
            <input type="image" src="./Home Page Resources/ArrowRightIcon.png" onclick="alert('Trigger Upload Page')">
        </div>

出于某种原因,我的 javascript 中的选择路径没有选择 h2 insideHTML。我不知道为什么......有什么帮助吗?

最佳答案

正如评论中所建议的,childNodes 属性包含所有 个子节点,包括文本节点,这意味着您想要的 h2将是childNodes[3]

您可以使用.children属性只获取元素子元素:

function changeText() { 
    document.getElementsByClassName("CentralContainer")[0]
            .getElementsByClassName("PlayFlowSelect")[0]
            .children[1].textContent = "Custom Stream";
}

但正如其他答案和评论所暗示的那样,这不是最干净或最可靠的方法。

关于Javascript HTML DOM 选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28071096/

相关文章:

javascript - 无法在按钮单击 HighChart 上渲染/保留图表

javascript - 使用 navigator.notification.alert 代替普通的 js 警报

javascript - 如何在我的 html 页面中使用 javascript 函数重定向到分区(<div>)

javascript 用 javascript 表达式替换所有?

javascript - 如何将标志写入 7 位数字

javascript - 如何在继续程序之前等待响应? (Nodejs 与 Elasticsearch)

javascript - ReactJS/JavaScript 在对象中查找数组

javascript - 如何使用 Jquery 选择内联文本?

javascript - 用日期填充 2 个文本框

javascript - Jquery 设置 onclick null 并在 ajax 成功时更改按钮图像