以JavaScript中的特定元素为目标?
我以前试过问这个问题,但我想我还不够具体。假设我有这样的HTML代码。如何使用纯JavaScript仅针对horizontalNAV中的标记?好的,我知道我可以用jQuery这样做以JavaScript中的特定元素为目标?,javascript,Javascript,我以前试过问这个问题,但我想我还不够具体。假设我有这样的HTML代码。如何使用纯JavaScript仅针对horizontalNAV中的标记?好的,我知道我可以用jQuery这样做 <script type="text/javascript"> $(document).ready(function(){ $('#horizontalNAV li a').click(function(){ //jQuery code here... })
<script type="text/javascript">
$(document).ready(function(){
$('#horizontalNAV li a').click(function(){
//jQuery code here...
});
});
</script>
$(文档).ready(函数(){
$(“#水平导航李a”)。单击(函数(){
//jQuery代码在这里。。。
});
});
但是,我不想要jQuery的答案,因为我想知道如何使用纯javaScript定位(“#horizontalNAV li a”)
或者你可以告诉我如何做垂直导航部分,无论是哪种方式,我都会得到它,如果我看到一个例子,或者如果它向我解释。如果我没有弄错的话,您将不得不使用document.querySelectorAll方法,如果是,那么在上面的示例中该方法是如何工作的
<div id="wrapper">
<div id="horizontalNav">
<ul>
<li><a href="#"></a>item1</li>
<li><a href="#"></a>item2</li>
<li><a href="#"></a>item3</li>
</ul>
</div>
<div class="sideBar">
<div class="verticalNav">
<ul>
<li><a href="#"></a>item1</li>
<li><a href="#"></a>item2</li>
<li><a href="#"></a>item3</li>
</ul>
</div>
</div>
</div>
- 项目1
- 项目2
- 项目3
- 项目1
- 项目2
- 项目3
如果没有jQuery,它会是这样的
<script type="text/javascript">
document.addEventListener("DOMContentLoaded", function(event) {
var elems = document.querySelectorAll('#horizontalNav li a');
for (var i = elems.length; i--;)
elems[i].addEventListener("click", handler, false);
}, false);
function handler(event) {
//javascript code here...
this.style.color = 'red';
}
</script>
document.addEventListener(“DOMContentLoaded”),函数(事件){
var elems=document.querySelectorAll(“#horizontalNav li a”);
对于(var i=elems.length;i--;)
elems[i].addEventListener(“单击”,处理程序,false);
},假);
函数处理程序(事件){
//javascript代码在这里。。。
this.style.color='red';
}
如果没有jQuery,它会是这样的
<script type="text/javascript">
document.addEventListener("DOMContentLoaded", function(event) {
var elems = document.querySelectorAll('#horizontalNav li a');
for (var i = elems.length; i--;)
elems[i].addEventListener("click", handler, false);
}, false);
function handler(event) {
//javascript code here...
this.style.color = 'red';
}
</script>
document.addEventListener(“DOMContentLoaded”),函数(事件){
var elems=document.querySelectorAll(“#horizontalNav li a”);
对于(var i=elems.length;i--;)
elems[i].addEventListener(“单击”,处理程序,false);
},假);
函数处理程序(事件){
//javascript代码在这里。。。
this.style.color='red';
}
如果没有jQuery,它会是这样的
<script type="text/javascript">
document.addEventListener("DOMContentLoaded", function(event) {
var elems = document.querySelectorAll('#horizontalNav li a');
for (var i = elems.length; i--;)
elems[i].addEventListener("click", handler, false);
}, false);
function handler(event) {
//javascript code here...
this.style.color = 'red';
}
</script>
document.addEventListener(“DOMContentLoaded”),函数(事件){
var elems=document.querySelectorAll(“#horizontalNav li a”);
对于(var i=elems.length;i--;)
elems[i].addEventListener(“单击”,处理程序,false);
},假);
函数处理程序(事件){
//javascript代码在这里。。。
this.style.color='red';
}
如果没有jQuery,它会是这样的
<script type="text/javascript">
document.addEventListener("DOMContentLoaded", function(event) {
var elems = document.querySelectorAll('#horizontalNav li a');
for (var i = elems.length; i--;)
elems[i].addEventListener("click", handler, false);
}, false);
function handler(event) {
//javascript code here...
this.style.color = 'red';
}
</script>
document.addEventListener(“DOMContentLoaded”),函数(事件){
var elems=document.querySelectorAll(“#horizontalNav li a”);
对于(var i=elems.length;i--;)
elems[i].addEventListener(“单击”,处理程序,false);
},假);
函数处理程序(事件){
//javascript代码在这里。。。
this.style.color='red';
}
如果#horizontalNAV是UL或OL元素,则它只能有LI元素子元素,因此可以跳过选择器的该部分。以下内容不使用querySelectorAll,因此将在不支持它的浏览器中工作:
<script>
window.onload = function() {
var list = document.getElementById('#horizontalNAV');
var links = list && list.getElementsByTagName(‘a’);
if (links) {
for (var i=0, iLen=links.length; i<iLen; i++) {
links[i].onclick = listener;
}
}
}
function listener() {
// do stuff
}
</script>
window.onload=函数(){
var list=document.getElementById(“#horizontalNAV”);
var links=list&&list.getElementsByTagName('a');
如果(链接){
对于(var i=0,iLen=links.length;i如果#horizontalNAV是UL或OL元素,则它只能有LI元素子元素,因此您可以跳过选择器的该部分。以下不使用queryselector,因此在不支持它的浏览器中都可以工作:
<script>
window.onload = function() {
var list = document.getElementById('#horizontalNAV');
var links = list && list.getElementsByTagName(‘a’);
if (links) {
for (var i=0, iLen=links.length; i<iLen; i++) {
links[i].onclick = listener;
}
}
}
function listener() {
// do stuff
}
</script>
window.onload=函数(){
var list=document.getElementById(“#horizontalNAV”);
var links=list&&list.getElementsByTagName('a');
如果(链接){
对于(var i=0,iLen=links.length;i如果#horizontalNAV是UL或OL元素,则它只能有LI元素子元素,因此您可以跳过选择器的该部分。以下不使用queryselector,因此在不支持它的浏览器中都可以工作:
<script>
window.onload = function() {
var list = document.getElementById('#horizontalNAV');
var links = list && list.getElementsByTagName(‘a’);
if (links) {
for (var i=0, iLen=links.length; i<iLen; i++) {
links[i].onclick = listener;
}
}
}
function listener() {
// do stuff
}
</script>
window.onload=函数(){
var list=document.getElementById(“#horizontalNAV”);
var links=list&&list.getElementsByTagName('a');
如果(链接){
对于(var i=0,iLen=links.length;i如果#horizontalNAV是UL或OL元素,则它只能有LI元素子元素,因此您可以跳过选择器的该部分。以下不使用queryselector,因此在不支持它的浏览器中都可以工作:
<script>
window.onload = function() {
var list = document.getElementById('#horizontalNAV');
var links = list && list.getElementsByTagName(‘a’);
if (links) {
for (var i=0, iLen=links.length; i<iLen; i++) {
links[i].onclick = listener;
}
}
}
function listener() {
// do stuff
}
</script>
window.onload=函数(){
var list=document.getElementById(“#horizontalNAV”);
var links=list&&list.getElementsByTagName('a');
如果(链接){
对于(var i=0,iLen=links.length;我看了一看关于JS和DOM的教程:看了看关于JS和DOM的教程:看了看关于JS和DOM的教程:感谢你的回答,这正是我想要的。要扩展你所拥有的,假设我想做一些简单的事情,比如make上面针对的a标签会改变颜色或是一些愚蠢的事情,我该怎么做?如果我在这方面纠缠不休或是愚蠢的话,那就很抱歉了。使用jQuery,事情会简单得多。):我已经为此添加了一些内容。请注意,您使用的ID不匹配,区分大小写。感谢您的回答,这正是我想要的。要扩展您所拥有的内容,假设我想做一些简单的事情,例如使上面针对的a标记更改颜色或其他愚蠢的事情,我将如何做?抱歉,如果我在纠缠或dumb在这里。使用jQuery,事情就简单多了):我已经为此添加了一些内容。请注意,您使用的ID不匹配,区分大小写。感谢您的回答,这正是我想要的。要扩展您所拥有的内容,假设我想做一些简单的事情,例如使上面针对的a标记更改颜色或其他愚蠢的事情,我将如何做?抱歉,如果我在纠缠或dumb说到这里。使用jQuery,事情就简单多了):我已经为此添加了一些内容。请注意,您使用的ID不匹配,区分大小写。感谢您的回答,这正是我想要的。要表达