标签: getelementbyid

26
推荐指数
1
解决办法
2万
查看次数

在javascript中选择第一个div孩子的第二个孩子

我有一个看起来像这样的HTML:

<div id="mainDiv"> <-- I have this
    <div>
        <div></div>
        <div></div> <-- I need to get this
    </div>
    <span></span>
    <more stuff />
</div>
Run Code Online (Sandbox Code Playgroud)

我在用:

var mainDiv = document.getElementById('mainDiv');
Run Code Online (Sandbox Code Playgroud)

因为我需要var中的div,但我还需要将mainDiv中第一个div的第二个div放到变量中.

我怎么能以简单的跨浏览器方式做到这一点?

html javascript parent-child getelementbyid

24
推荐指数
4
解决办法
7万
查看次数

为什么document.GetElementById返回null

我一直在成功使用document.GetElementById,但从一段时间以来我再也无法使用了.我使用它的旧页面仍然可以工作,但事情就像这样简单:

<html>
<head>
 <title>no title</title> 
 <script type="text/javascript">
 document.getElementById("ThisWillBeNull").innerHTML = "Why is this null?";
 </script>
</head>
<body>
 <div id="ThisWillBeNull"></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

给我"document.getElementById("parsedOutput")现在一直是null".如果我使用Firefox或Chrome或者我启用了哪些扩展程序或者我用于html的标题,它无关紧要,它始终为空,我找不到可能出错的地方.

谢谢你的输入=)

javascript getelementbyid

23
推荐指数
5
解决办法
8万
查看次数

Javascript找不到id的元素?

<html>
<head>
    <title>Test javascript</title>

    <script type="text/javascript">
        var e = document.getElementById("db_info");
        e.innerHTML='Found you';
    </script>
</head>
<body>
    <div id="content">
        <div id="tables">

        </div>        
        <div id="db_info">
        </div>
    </div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

如果我使用alert(e);它出现null....显然我没有在屏幕上找到任何"找到你".我究竟做错了什么?

javascript getelementbyid

23
推荐指数
1
解决办法
9万
查看次数

它说TypeError:document.getElementById(...)为null

虽然我把一个参数推到了getElementById我想知道这个'是null'错误来自哪里?

TypeError: document.getElementById(...) is null
[Break On This Error]   

document.getElementById(elmId).innerHTML = value;

Line 75  
Run Code Online (Sandbox Code Playgroud)

除此之外,我想知道为什么标题和时间没有显示,除非我点击其中一个播放列表图片?

javascript dom runtime-error innerhtml getelementbyid

22
推荐指数
4
解决办法
10万
查看次数

getElementById在IE 11上的DOM树中确定的非常具体的ID上失败,可能是Edge - 为什么?

在Microsoft IE和(根据评论)Edge,getElementById()在一个ID正好"extTabsBodyEleFile1273551781_renderTo"失败.

<!DOCTYPE HTML>
<html>
    <body>
        <div id="extTabsBodyEleFile1273551781_renderTo"></div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

此ID已自动生成.以任何方式更改ID可以解决问题.获取div的父级并列出其子节点还包括div.

错误可以在IE 11.0.9600.19155和11.0.9600.18538上重现 - 但它在IE 11 ... 19155的另一台机器上运行没有问题.

如果您在随机站点上打开开发人员控制台,将DOM浏览器中任何元素的ID更改为上面的ID,然后尝试通过以下方式获取该元素,也可以重现该错误 document.getElementById('extTabsBodyEleFile1273551781_renderTo')

我意识到这是一个Edge bug并且修复它只是意味着更改ID.我的问题是它为什么会发生,为什么它没有发生在Edge的一个实例上(我找不到设置差异)以及我如何生成ID以确保它不会再次发生.在这个地方很容易改变它,但不知道它为什么会发生,它可能会再次发生.

是否有已知的哈希或数字组合ID不应该有?这是我可能使用元标记关闭的遗留设置吗?

我希望这个问题对于SO来说并不太具体 - 由于getElementById相关问题的大量搜索,它被证明是徒劳的.

console.log(document.getElementById('extTabsBodyEleFile1273551781_renderTo'));
Run Code Online (Sandbox Code Playgroud)
<div id="extTabsBodyEleFile1273551781_renderTo"></div>
Run Code Online (Sandbox Code Playgroud)


更新:

似乎ID在不区分大小写的情况下失败:

extTabsBodyEleFile1273551781_renderTo
exttabsbodyelefile1273551781_renderto
EXTTABSBODYELEFILE1273551781_RENDERTO
ExttAbsbOdyELEfILE1273551781_rEndErtO
Run Code Online (Sandbox Code Playgroud)

都导致错误.


更新:

IE Developer控制台似乎至少参与了错误.打开一个测试HTML页面,显示尝试通过该ID内部检索元素而不是将其记录到控制台的结果,如果在控制台关闭的情况下启动IE,则按预期工作 - 直到控制台打开并且页面刷新了一对(1-5)次,然后错误再次出现并持续到IE关闭并重新打开.出现错误后关闭开发人员控制台似乎没有效果.

测试HTML托管在netlify,HTML代码:

<!DOCTYPE HTML>
<html>
    <head>
        <style>
            table, th, td {border: 1px solid black;border-collapse: collapse;}
            th, td {padding: 15px;}
        </style>
    </head>
    <body>
        <div id="extTabsBodyEleFile1273551781_renderTo"></div>
        <div><p id="testresult"></p></div>
        <script>
        var testresults = document.getElementById('testresult');
        var time = new Date().getTime(); …
Run Code Online (Sandbox Code Playgroud)

javascript getelementbyid internet-explorer-11 microsoft-edge

21
推荐指数
1
解决办法
471
查看次数

IE中的getElementById.contentDocument错误

<html>
   <script type="text/javascript">
      function func() {
         alert(document.getElementById('iView').contentDocument);
      }    
   </script>
   <body>
      <iframe id="iView" style="width:200px;height:200px;"></iframe>
      <a href="#" onclick="func();">click</a>
   </body>
</html>
Run Code Online (Sandbox Code Playgroud)

点击后,Firefox返回[object HTMLDocument].Internet Explorer返回undefined.

如何使用Internet Explorer选择iView元素?谢谢.

javascript explorer getelementbyid

18
推荐指数
2
解决办法
2万
查看次数

有趣的"getElementById()只需1个参数(给定2个)",有时它会发生.有人可以解释一下吗?

#-*- coding:utf-8 -*-
import win32com.client, pythoncom
import time

ie = win32com.client.DispatchEx('InternetExplorer.Application.1')
ie.Visible = 1
ie.Navigate('http://ieeexplore.ieee.org/xpl/periodicals.jsp')
time.sleep( 5 )

ie.Document.getElementById("browse_keyword").value ="Computer"
ie.Document.getElementsByTagName("input")[24].click()
Run Code Online (Sandbox Code Playgroud)
import win32com.client, pythoncom
import time

ie = win32com.client.DispatchEx('InternetExplorer.Application')
ie.Visible = 1
ie.Navigate('www.baidu.com')
time.sleep(5)

print 'browse_keword'
ie.Document.getElementById("kw").value ="Computer"
ie.Document.getElementById("su").click()
print 'Done!'
Run Code Online (Sandbox Code Playgroud)

当运行第一部分代码时,它将弹出:

ie.Document.getElementById("browse_keyword").value ="Computer"
TypeError: getElementById() takes exactly 1 argument (2 given)
Run Code Online (Sandbox Code Playgroud)

并且第二部分代码运行正常.使结果不同有什么区别?

python com getelementbyid win32com

17
推荐指数
3
解决办法
7410
查看次数

document.getElementById('btnid').disabled在firefox和chrome中不起作用

我正在使用JavaScript来禁用按钮.在IE中工作正常但在FireFox和chrome中没有,这是我正在处理的脚本:

function disbtn(e) { 
    if ( someCondition == true ) {
       document.getElementById('btn1').disabled = true;
    } else {
       document.getElementById('btn1').disabled = false;
    }
Run Code Online (Sandbox Code Playgroud)

在我的HTML中,我有:

<input type="button" id="btn1" value="submit" />
Run Code Online (Sandbox Code Playgroud)

javascript getelementbyid

17
推荐指数
2
解决办法
10万
查看次数

React中的getElementById

此刻出现此错误:

Uncaught TypeError: Cannot read property 'value' of null

我在下面的渲染函数中调用它:

<input type="submit" className="nameInput" id="name" value="cp-dev1" onClick={this.writeData}/>
Run Code Online (Sandbox Code Playgroud)

我也试过在这里调用它

componentWillMount: function(){
        var name = document.getElementById('name').value;
      },
Run Code Online (Sandbox Code Playgroud)

如何获取输入文本字段的id并读取该值并确保它不为空?

我认为DOM在我尝试读取元素后加载,因此它为空

javascript null getelementbyid reactjs

16
推荐指数
1
解决办法
4万
查看次数