我真的很惊讶我没有遇到过这个问题,但似乎调用一个元素的jQueries .html()函数忽略DOM中的变化,即它返回原始源中的HTML。 IE不这样做。 jQueries .html()只是在内部使用innerHTML属性。 这是否意味着发生? 我在Firefox 3.5.2上。 我在下面有一个例子,不pipe你怎么改变文本框的值,“容器”元素的innerHTML都只返回HTML标记中定义的值。 该示例不使用jQuery只是为了使其更简单(使用jQuery的结果是相同的)。 有没有人有一个工作,我可以得到一个容器的HTML在其当前的状态,即包括任何脚本更改的DOM? <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <script type="text/javascript"> <!– function BodyLoad(){ document.getElementById("textbox").value = "initial UPDATE"; DisplayTextBoxValue(); } function DisplayTextBoxValue(){ alert(document.getElementById("container").innerHTML); return false; } //–> </script> </head> <body onload="BodyLoad();"> <div id="container"> <input type="text" id="textbox" value="initial" /> </div> <input type="button" id="button" […]
有一种简单可靠的方法来确定当前正在执行的JavaScript文件(在网页内)的URL吗? 我唯一的想法就是扫描所有脚本src属性的DOM,以查找当前文件如何被引用,然后通过将其应用于document.location来找出绝对URL。 任何人有其他的想法,有没有我完全忽略了一些超级简单的方法? 更新:通过DOM访问的脚本元素已经有一个src属性,其中包含完整的URL。 我不知道如何无处不在/标准,但也可以使用getAttribute("src") ,它将返回[X] HTML中的任何原始属性值。
您可以用鼠标select网页的一部分。 我知道我可以得到当前选中的文本,但是如何获取包含当前select的开始或结束的DOM元素?
我试图遍历页面上的所有元素,所以我想检查这个页面上存在的每个元素为一个特殊的类。 那么,我怎么说我想检查每个元素?
我发现自己使用JavaScript,我碰到了childNodes和children属性。 我想知道他们之间的区别是什么。 也是一个比较喜欢的?
这是我一直有一些困难的东西。 我有一个本地的客户端脚本,需要允许用户获取远程网页,并search结果页面的forms。 为了做到这一点(没有正则expression式),我需要parsing文档到一个完全遍历的DOM对象。 我想强调一些限制: 我不想使用库(如jQuery)。 我在这里需要做的事情太多了。 在任何情况下都不应该执行远程页面的脚本(出于安全原因)。 DOM API(如getElementsByTagName )需要可用。 它只需要在Internet Explorer中工作,但至less在7。 让我们假装我没有访问服务器。 我这样做,但我不能用它。 我试过了 假设我在variableshtml有一个完整的HTML文档string(包括DOCTYPE声明),以下是我迄今为止所尝试的: var frag = document.createDocumentFragment(), div = frag.appendChild(document.createElement("div")); div.outerHTML = html; //-> results in an empty fragment div.insertAdjacentHTML("afterEnd", html); //-> HTML is not added to the fragment div.innerHTML = html; //-> Error (expected, but I tried it anyway) var doc […]
在下面的: <select id="test"> <option value="1">Test One</option> <option value="2">Test Two</option> </select> 如何使用JavaScript获取所选选项的文本(即“testing一”或“testing二”) document.getElementsById('test').selectedValue返回1或2,什么属性返回所选选项的文本?
我想序列化DOM节点,甚至整个window到JSON。 例如: >> serialize(document) -> { "URL": "http://stackoverflow.com/posts/2303713", "body": { "aLink": "", "attributes": [ "getNamedItem": "function getNamedItem() { [native code] }", … ], … "ownerDocument": "#" // recursive link here }, … } JSON.stringify() JSON.stringify(window) // TypeError: Converting circular structure to JSON 问题是JSON默认不支持循环引用。 var obj = {} obj.me = obj JSON.stringify(obj) // TypeError: Converting circular […]
在IE中,你可以预先更改。 有负载,但我读了可怕的事情 。 jQuery用“ready”很好地包装了DOM的加载事件。 我似乎可能只是无知的另一个漂亮的图书馆的图像加载的实现。 上下文是我dynamic生成图像(通过服务器callback),可能需要一些时间下载。 在我的IE-only代码中,我设置了img元素的src,然后当onreadystatechange事件触发“完成”状态时,我将它添加到DOM,以便用户看到它。 我会很满意一个“原生”的JavaScript解决scheme,或者指向一个图书馆的指针。 那里有那么多的图书馆,我敢肯定,这只是我不知道正确的一个。 也就是说,我们已经是jQuery用户了,所以我不急于添加一个非常大的库来获得这个function。
情况有点像 – var someVar = some_other_function(); someObj.addEventListener("click", function(){ some_function(someVar); }, false); 问题是someVar的值在addEventListener的监听器函数内部是不可见的,在那里它可能被当作一个新的variables来处理。