var size = 5;
var lis = document.getElementById("size").getElementsByTagName("li");
for(var i = 0 ; i < lis.length ; i++)
{
lis[i].onclick = function()
{
size = parseInt(this.innerHTML);
}
} <dl id="size">
<dt></dt>
<dd>
<ul>
<li>5</li>
<li>7</li>
<li>9</li>
</ul>
</dd>
</dl>
如何在点击列表项的时候将列表中的数字赋值给size变量?
$("#size > dd > ul > li").click(function(){
size=parseInt($(this).text());
});
size定义成全局变量,没问题的
var size = (function(){
var lis = document.getElementById("size").getElementsByTagName("li");
for(var i = 0 ; i < lis.length ; i++)
{
lis[i].onclick = function()
{
return parseInt(this.innerHTML);
}
}
})() || 5;这种形式赋值可以么,可以的话上面的代码不对,应该怎么样修改下
<script>
var size = 5;
var lis = document.getElementById("size").getElementsByTagName("li");
for(var i = 0 ; i < lis.length ; i++)
{
lis[i].onclick = function()
{
size = parseInt(this.innerHTML);
alert(size);
}
}
</script>你这段不就给size赋值了么 ?
全局变量 哪里都能进行操作 。
var lis = document.getElementById("size").getElementsByTagName("li");
for(var i = 0 ; i < lis.length ; i++)
{
lis[i].onclick = function()
{
size = parseInt(this.innerHTML);
alert(size);
}
}楼主代码没问题!
把dl 放入body 没问题的!
<dt></dt>
<dd>
<ul>
<li>5</li>
<li>7</li>
<li>9</li>
</ul>
</dd>
</dl><script>
//var size = 5;
var size = document.getElementById("size");
var lis = size.getElementsByTagName("li");
for(var i = 0 ; i < lis.length ; i++)
{
lis[i].onclick = function()
{
size.id = parseInt(this.innerHTML);
}
}
</script>
size=parseInt(this.innerHTML);
});
var size = 5;
var lis = document.getElementById("size");
lis.onclick=function(e)
{
e = e || event;
target = e.target || e.srcElement;
if(target.tagName=="LI") size=parseInt(target.innerHTML)
}