Questions tagged «dom»

文档对象模型(DOM)是一种以编程方式引用诸如XML和HTML之类的标记语言的元素的方法。与[javascript]或任何其他具有DOM分析器的编程语言一起使用



8
将元素添加到页面时如何通知我?
我希望我选择的功能在将DOM元素添加到页面时运行。这是在浏览器扩展的上下文中,因此该网页独立于我运行,并且我无法修改其来源。我在这里有什么选择? 我想,从理论上讲,我可以setInterval()用来不断搜索元素的存在并在元素存在的情况下执行我的操作,但是我需要一个更好的方法。



15
最佳实践:通过HTML id或name属性访问表单元素?
正如任何经验丰富的JavaScript开发人员所知道的,有很多(太多)的方法可以完成相同的事情。例如,假设您有一个文本字段,如下所示: <form name="myForm"> <input type="text" name="foo" id="foo" /> 有很多方法可以在JavaScript中进行访问: [1] document.forms[0].elements[0]; [2] document.myForm.foo; [3] document.getElementById('foo'); [4] document.getElementById('myForm').foo; ... and so on ... 方法[1]和[3]在Mozilla Gecko文档中有详细记录,但都不是理想的方法。[1]太笼统而无用,[3]需要ID和名称(假设您将数据发布到服务器端语言)。理想情况下,最好只具有一个id属性或一个name属性(两者都有些多余,特别是如果id对于任何CSS都是不必要的,并且会增加输入错误的可能性等)。 [2]似乎是最直观的方法,并且似乎已被广泛使用,但是我还没有在Gecko文档中看到它的引用,而且我担心向前兼容性和跨浏览器兼容性(当然,我想成为尽可能符合标准)。 那么,这里的最佳实践是什么?任何人都可以指出DOM文档或W3C规范中可以解决此问题的内容吗? 注意我对非库解决方案(jQuery / Prototype)特别感兴趣。
136 javascript  html  forms  dom 

3
document.addEventListener和window.addEventListener之间的区别?
使用PhoneGap时,它具有一些使用的默认JavaScript代码document.addEventListener,但是我有自己的代码使用window.addEventListener: function onBodyLoad(){ document.addEventListener("deviceready", onDeviceReady, false); document.addEventListener("touchmove", preventBehavior, false); window.addEventListener('shake', shakeEventDidOccur, false); } 有什么区别,哪个更好使用?

2
在指定位置获取元素-JavaScript
使用Javascript,如何识别给定位置的元素?基本上,我希望编写一个函数,该函数接受两个输入参数(x和y坐标),并在参数所表示的屏幕上的位置处返回html元素。
133 javascript  html  dom 

5
querySelector,通配符是否匹配?
有没有一种方法可以使用querySelector或进行通配符元素名称匹配querySelectorAll?我看到属性查询中支持通配符,但不支持元素本身。 我要解析的XML文档基本上是属性的平面列表,我需要查找名称中包含某些字符串的元素。 我意识到,如果需要的话,XML文档可能需要进行重组,但这不会发生。 除了返回使用显然不推荐使用的XPath(IE9删除了它)之外,任何解决方案都是可以接受的。

5
从数据库编译动态HTML字符串
情况 嵌套在我们的Angular应用程序中的是一个称为Page的指令,该指令由控制器支持,该指令包含一个具有ng-bind-html-unsafe属性的div。这被分配给名为“ pageContent”的$ scope变量。从数据库中为该变量分配动态生成的HTML。当用户跳至下一页时,将对数据库进行调用,并将pageContent var设置为此新的HTML,并将其通过ng-bind-html-unsafe显示在屏幕上。这是代码: 页面指​​令 angular.module('myApp.directives') .directive('myPage', function ($compile) { return { templateUrl: 'page.html', restrict: 'E', compile: function compile(element, attrs, transclude) { // does nothing currently return { pre: function preLink(scope, element, attrs, controller) { // does nothing currently }, post: function postLink(scope, element, attrs, controller) { // does …

6
nodeValue vs innerHTML和textContent。如何选择?
我正在使用普通js来更改label元素的内部文本,但是我不确定应该基于什么理由使用innerHTML或nodeValue或textContent。我不需要创建新节点或更改HTML元素或其他任何内容,只需替换文本即可。这是代码示例: var myLabel = document.getElementById("#someLabel"); myLabel.innerHTML = "Some new label text!"; // this works myLabel.firstChild.nodeValue = "Some new label text!"; // this also works. myLabel.textContent = "Some new label text!"; // this also works. 我浏览了jQuery源代码,它只使用一次nodeValue,但是多次使用innerHTML和textContent。然后,我发现此jsperf测试表明firstChild.nodeValue明显更快。至少这就是我的解释。 如果firstChild.nodeValue快得多,那么有什么收获呢?是否得到广泛支持?还有其他问题吗?

2
window.location.href,window.location.replace和window.location.assign之间的区别
之间有什么区别 window.location.href="http://example.com"; window.location.replace("http://example.com"); window.location.assign("http://example.com"); 我在许多论坛上阅读过,它们window.location.assign()仅替换当前的会话历史记录,因此浏览器的后退按钮将不起作用。但是,我无法重现此内容。 function fnSetVariable() { //window.location.href = "http://example.com"; window.location.replace("http://example.com"); //window.location.assign("http://example.com"); } <a onmouseover="fnSetVariable();" href="PageCachingByParam.aspx?id=12" > CLICK </a>
128 javascript  dom  location 

8
如何在纯JavaScript中切换元素的类?
我正在寻找一种方法将此jQuery代码(在响应菜单部分中使用)转换为纯JavaScript。 如果难以实现,则可以使用其他JavaScript框架。 $('.btn-navbar').click(function() { $('.container-fluid:first').toggleClass('menu-hidden'); $('#menu').toggleClass('hidden-phone'); if (typeof masonryGallery != 'undefined') masonryGallery(); });
128 javascript  dom  toggle 

5
JavaScript按名称获取元素
考虑以下功能: function validate() { var acc = document.getElementsByName('acc').value; var pass = document.getElementsByName('pass').value; alert (acc); } 而这个HTML部分: <table border="0" cellpadding="2" cellspacing="0" valign="top"> <tr> <td class="td1">Account</td> <td class="td2"><input type="text" name="acc" /></td> </tr> <tr class="td1"> <td>Password</td> <td class="td2"><input type="password" name="pass" /></td> </tr> </table> <div><button onClick="validate()" class="cupid-greenx">Login now</button></div> 显示警报框,但显示“未定义”。
127 javascript  html  dom 

7
如何使用JavaScript创建链接?
我有一个标题字符串和一个链接字符串。我不确定如何将两者放在一起以使用Javascript在页面上创建链接。任何帮助表示赞赏。 编辑1:向该问题添加更多详细信息。我要弄清楚这一点的原因是因为我有一个RSS提要,并且有标题和URL的列表。我想将标题链接到URL以使页面有用。 EDIT2:我使用的是jQuery,但它是全新的,并且不知道它可以在这种情况下提供帮助。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.