我正在使用JavaScript进行搜索.我会使用一个表单,但它在我的页面上弄乱了其他东西.我有这个输入文本字段:
<input name="searchTxt" type="text" maxlength="512" id="searchTxt" class="searchField"/>
Run Code Online (Sandbox Code Playgroud)
这是我的JavaScript代码:
<script type="text/javascript">
function searchURL(){
window.location = "http://www.myurl.com/search/" + (input text value);
}
</script>
Run Code Online (Sandbox Code Playgroud)
如何从文本字段中获取值到JavaScript?
是否有相应的markdown语法:
Take me to <a href="#pookie">pookie</a>
...
<a name="pookie">this is pookie</a>
Run Code Online (Sandbox Code Playgroud) 所以我有一个这样的按钮:
<input id="Button" type="button" value="+" style="background-color:grey" onclick="Me();"/>
Run Code Online (Sandbox Code Playgroud)
如何在需要时禁用和启用它?我试过disabled="disable"但是启用它是一个问题.我尝试将其设置为false,但是没有启用它.
使用JavaScript选择性地将单个或多个单选按钮设置为所需设置的最佳方法是什么?
我开始使用的所有浏览器都允许id="myDiv"通过简单地编写来访问元素:
myDiv
Run Code Online (Sandbox Code Playgroud)
见这里:http://jsfiddle.net/L91q54Lt/
无论如何,这种方法似乎记录很少,事实上,我遇到的来源甚至没有提及,而是假设有人会使用
document.getElementById("myDiv")
Run Code Online (Sandbox Code Playgroud)
或者可能
document.querySelector("#myDiv")
Run Code Online (Sandbox Code Playgroud)
即使在事先知道其ID(即不在运行时计算)时也要访问DOM元素.我可以说,后者的方法具有保持代码安全的优势,如果有人无意中尝试myDiv在更广泛的范围内重新定义(虽然不是这么好的想法......),用一些不同的值覆盖它并继续而没有注意到冲突.
但其他那个呢?除了代码设计之外,使用上面的简短形式是否有任何问题,或者我在这里缺少什么?
如何通过指定元素来获取元素集合id?我想获得idhtml中具有相同标签的所有标签的名称.
我想只使用getElementById()一个元素数组.我怎样才能做到这一点?
如果我有一个<div id='a'>Chrome浏览器,那么在javascript中我可以做(就好像是一个全局变量).a.stuff()a
然而,这不适用于FireFox - 我将需要使用document.getElementById('a').
这里的正确行为是什么?(根据W3规格)
另外我感兴趣的是,如果我有一个id为div a但a在我的脚本中也有一个全局变量,Chrome将如何解决这种歧义.这种行为是随机的还是笨拙的?
如何将一个id由连字符(" - "),冒号(":")和句点(".")组成的元素进行翻译(好吧我知道它们可以被访问document.getElementById但浏览器将如何将其转换为表示它们的全局变量)
就在今天经过几年的javascript编程之后,我遇到了令我吃惊的东西.浏览器为每个具有id的元素创建对象.对象的名称将与id匹配.
所以如果你有:
<div id ="box"></div>
Run Code Online (Sandbox Code Playgroud)
你可以做:
alert(box); //[object HTMLDivElement]
Run Code Online (Sandbox Code Playgroud)
没有先为该变量分配任何内容.看演示.
由于某种原因,这似乎是在标准中,即使它在某些情况下可能会破坏代码.有一个开放的bug来结束这种行为,但我现在更感兴趣摆脱它.
你们知道是否有办法禁用它(严格的模式可能)?我是否过分重视?因为这看起来确实是一个坏主意.(它是由IE推出给你一个提示).
更新:似乎FF只在怪癖模式下执行此操作.像IE6 +和Chrome这样的其他浏览器可以立即实现.
我遇到了一种有效的情况,但我不明白为什么。如果我命名一个元素id="abc"并且不console.log(abc)先设置它,它就会给我 HTML 对象。任何人都可以解释这种行为吗?
例子
<h1 Id="abc" >abcdefghj</h1>
<script>
// without using document.getElementById
console.log(abc); // Returns h1 element
</script>
Run Code Online (Sandbox Code Playgroud)
我不知道为什么它在不使用 document.getElementById() 的情况下给了我整个元素。
可能重复:
IE/Chrome:DOM树元素是全局变量吗?
为什么window [id] === document.getElementById(id)
我刚刚在html/javascript中遇到过一些让我感到惊讶的事情.当获得对html元素的引用时,使用javascript,我以前总是使用jQuery或document.getElementById.您还可以使用它的id直接访问元素.有人可以解释这个细微差别吗?我用Google搜索但找不到任何关于此功能的引用,每个网站都会讨论getElementById.
以下页面代码段说明了这一点.
<html>
<head>
</head>
<body>
<input type="button" value="getElement" onclick="document.getElementById('blah').innerText = 'getElementById'" />
<input type="button" value="direct" onclick="blah.innerText = 'direct';" />
<div id="blah"></div>
</body>
Run Code Online (Sandbox Code Playgroud)
提前谢谢了.