跪求各位js高手,这个程序里,为什么showContent,self就能分别代表“id”和 “a”标签呢??
<!DOCTYPEhtml><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>...
<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>用传递函数的方式写的Javascript选项卡</title>
<style>
.news_listcon #tags .selectTag{
background:red;
}
</style>
</head>
<body>
<div class="news_listcon">
<ul id=tags>
<li class="selectTag"><a href="#" onClick="selectTag('tagContent0',this)" href="#">基本信息</a></li>
<li><a href="#" onClick="selectTag('tagContent1',this)" href="#">地图位置</a></li>
<li><a href="#" onClick="selectTag('tagContent2',this)" href="#">附件</a></li>
</ul>
<div id=tagContent>
<div id="tagContent0">
<!--第一个列表内容-->
基本信息
</div>
<DIV id="tagContent1" style="display:none">
<!--第二个列表内容-->
地图位置
</DIV>
<DIV id="tagContent2" style="display:none">
<!--第三个列表内容-->
附件
</DIV>
</div>
</div>
<script type=text/javascript>
function selectTag(showContent,self){
var tag = document.getElementById("tags").getElementsByTagName("li");<!--获得tags下面的li-->
var taglength = tag.length;
for(i=0; i<taglength; i++){
tag[i].className = "";
}
self.parentNode.className = "selectTag";
// 操作内容
for(i=0; j=document.getElementById("tagContent"+i); i++)
{
j.style.display = "none";
}
document.getElementById(showContent).style.display = "block";
}
</script>
</body>
</html> 展开
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>用传递函数的方式写的Javascript选项卡</title>
<style>
.news_listcon #tags .selectTag{
background:red;
}
</style>
</head>
<body>
<div class="news_listcon">
<ul id=tags>
<li class="selectTag"><a href="#" onClick="selectTag('tagContent0',this)" href="#">基本信息</a></li>
<li><a href="#" onClick="selectTag('tagContent1',this)" href="#">地图位置</a></li>
<li><a href="#" onClick="selectTag('tagContent2',this)" href="#">附件</a></li>
</ul>
<div id=tagContent>
<div id="tagContent0">
<!--第一个列表内容-->
基本信息
</div>
<DIV id="tagContent1" style="display:none">
<!--第二个列表内容-->
地图位置
</DIV>
<DIV id="tagContent2" style="display:none">
<!--第三个列表内容-->
附件
</DIV>
</div>
</div>
<script type=text/javascript>
function selectTag(showContent,self){
var tag = document.getElementById("tags").getElementsByTagName("li");<!--获得tags下面的li-->
var taglength = tag.length;
for(i=0; i<taglength; i++){
tag[i].className = "";
}
self.parentNode.className = "selectTag";
// 操作内容
for(i=0; j=document.getElementById("tagContent"+i); i++)
{
j.style.display = "none";
}
document.getElementById(showContent).style.display = "block";
}
</script>
</body>
</html> 展开
1个回答
展开全部
selectTag(showContent,self)
是一个函数,showContent和self是他的两个参数。
<a href="#" onClick="selectTag('tagContent1',this)" href="#">地图位置</a>
这个a标签调用了该函数,传入的参数是'tagContent1'和this,'tagContent1'是一个字符串,this是代表a这个标签,是一个dom对象,根据函数中下面这句代码document.getElementById(showContent).style.display = "block";
可知'tagContent1'被作为id查找节点,即可查找到id为'tagContent1'的div了,总而言之showContent和self只是函数的两个参数,你传入什么它就是什么
是一个函数,showContent和self是他的两个参数。
<a href="#" onClick="selectTag('tagContent1',this)" href="#">地图位置</a>
这个a标签调用了该函数,传入的参数是'tagContent1'和this,'tagContent1'是一个字符串,this是代表a这个标签,是一个dom对象,根据函数中下面这句代码document.getElementById(showContent).style.display = "block";
可知'tagContent1'被作为id查找节点,即可查找到id为'tagContent1'的div了,总而言之showContent和self只是函数的两个参数,你传入什么它就是什么
追问
这是哪种参数传递方式呢。
追答
你甭管它是什么传递方式,我也不知道,你只要理解参数不是一成不变的,调用的时候可以传入一切类型匹配的值,参数的作用本来就是使函数的利用率更高,代码量更少
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询