Chrome 提前更改 HTML ID
Chrome changing HTML ID in advance
我正在使用javascript更改HTML图像的Id,但我注意到chrome正在读取前面的代码,并提前更改Id。当我在 IE 上运行完全相同的代码,甚至在 chrome 上使用 f12 deveolper 工具使代码逐行运行时,控制台记录的内容与我简单地在 chrome 上运行它时不同。
console.log(document.getElementById("apples"));//IE logs html element with Id of apples, chrome logs element with id of oranges
document.getElementById("imageId1").id = "oranges";//Change ID to oranges
console.log(document.getElementById("oranges"));//Both IE and Chrome log html element with Id of oranges
因此,如果 Chrome 像我怀疑的那样提前阅读,并且提前更改 ID,我该如何让它停止(因为它弄乱了我的代码)。
Chrome的控制台显示该元素的实时日志。这就是为什么你看到的是橙子而不是苹果。
改用console.dir
,您将看到 id(日志记录时的值)印在元素名称旁边。但是,如果您打开对象属性,您将看到id的实时值。
console.dir(document.getElementById("apples"));
document.getElementById("apples").id = "oranges";
console.dir(document.getElementById("oranges"));
<img id="apples" />
或者将最后两个语句放在一个 setTimeout 中
console.log(document.getElementById("apples"));
//gives chrome the time to log the element
setTimeout(function(){
document.getElementById("apples").id = "oranges";
console.log(document.getElementById("oranges"));
},100);
<img id="apples" />
您也可以只记录属性本身而不是对象
console.log(document.getElementById("apples").id);
document.getElementById("apples").id = "oranges";
console.log(document.getElementById("oranges").id);
<img id="apples" />
相关文章:
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 如何从两个独立的HTML ID中复制值
- 如何在src中获取html id输出
- 非常基本的Javascript:更改HTML ID
- 如何通过html id将两个随机数传递给JS中的一个函数
- 将html ID与angularJS一起使用
- 使用grails生成html id的最佳实践
- Chrome 提前更改 HTML ID
- 根据类型通过 HTML ID 标记进行 JS 搜索是否有限制
- 如何创建具有类类型的数组并更改 html id
- 选择所有 HTML ID 作为 jQuery 对象
- 有没有办法将两个HTML ID链接到一个javascript函数
- 是否可以使用主干模型的 cid 作为 html id 属性?它是否保证是独一无二的
- Xcode 从 WebView 解析 HTML ID 数据
- 获取 Html.TextBoxFor 字段的 HTML ID
- 为什么html id在浏览器中显示为全局变量
- HTML id block replacement
- 是否可以将HTML id设置为json对象并将其传递给另一个函数
- 使用javascript在web部件页面中获取web部件HTML id
- 如何使用HTML id调用JS对象(如日期选择器)方法