如何依次获得 li 中的文本 可以用while循环click对象的parent对象,直到parent不存在 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>test</title><script>function chooseArea(obj){var str = "";for(var i=4;i<=obj.id.length;i++){if(i!=4)str += "-";str += document.getElementById(obj.id.substring(0,i)).childNodes[0].nodeValue;}alert(str);}</script></head><body><p id="text">text</p><ul id="ul"><li id="li_1"> 123 <ul> <li id="li_11" onclick="chooseArea(this)">abc</li> <li id="li_12" onclick="chooseArea(this)">def</li> <li id="li_13">ghi <ul> <li id="li_131" onclick="chooseArea(this)">一</li> <li id="li_132" onclick="chooseArea(this)">二</li> <li id="li_133" onclick="chooseArea(this)">三</li> </ul> </li> </ul></li><li id="li_2" onclick="chooseArea(this)">456</li><li id="li_3" onclick="chooseArea(this)">789</li></ul></body></html> chooseArea(this)函数会被多次调用!!如:点三的话会执行<li id="li_133" onclick="chooseArea(this)">三</li>,<li id="li_13" onclick="chooseArea(this)">,<li id="li_1" onclick="chooseArea(this)"><script language="javascript">var str="";function chooseArea(o){var a=o.innerHTML.split("<UL>");if (str=="")str=a[0];elsestr=a[0]+"-"+str;document.getElementById("jg").value=str;setTimeout("a()", 500);}function a(){str="";}</script><p id="text">text</p><ul id="ul"><li id="li_1" onclick="chooseArea(this)"> 123 <ul> <li id="li_11" onclick="chooseArea(this)">abc</li> <li id="li_12" onclick="chooseArea(this)">def</li> <li id="li_13" onclick="chooseArea(this)">ghi <ul> <li id="li_131" onclick="chooseArea(this)">一</li> <li id="li_132" onclick="chooseArea(this)">二</li> <li id="li_133" onclick="chooseArea(this)">三</li> </ul> </li> </ul></li><li id="li_2" onclick="chooseArea(this)">456</li><li id="li_3" onclick="chooseArea(this)">789</li></ul><input id="jg" type="text"> tank_pp 太牛了~~lihui_shine 也很牛 不过代码仍有些bugsetTimeout("a()", 500);setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。 用jquery吧$(document).ready(function() { $("#orderedlist").find("li").each(function(i) { alert( $(this).html()); });}); var a = o.innerHTML.split("<UL>");这句是什么意思? 用<UL>把this的内容 分割成数组 var a = o.innerHTML.split(" <UL>"); 关键还是这一句,换到复杂的界面中,split的参数也要改变,如 '<UL style'。 新手求助! 正则表达式怎样可以反方向非贪婪匹配? 关于二级联动如何制作 那位大哥推荐本javascript好书 请问高手:自动换算的问题??求解答 net_lover(孟子E章)请看过来,关于删除数组元素的后续问题 怎样统计文本框中汉字的子数 建议:有问题先到精华区,有些问题问了好多遍了!! 网页设计中安全问题 求解决 添加结算系统 jsp 多选 后 可进行不同的操作 怎样用JavaScript获取表格的html值,在firefox下也有效
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>test</title>
<script>
function chooseArea(obj){
var str = "";
for(var i=4;i<=obj.id.length;i++)
{
if(i!=4)str += "-";
str += document.getElementById(obj.id.substring(0,i)).childNodes[0].nodeValue;
}
alert(str);
}
</script>
</head><body>
<p id="text">text</p>
<ul id="ul">
<li id="li_1">
123
<ul>
<li id="li_11" onclick="chooseArea(this)">abc</li>
<li id="li_12" onclick="chooseArea(this)">def</li>
<li id="li_13">ghi
<ul>
<li id="li_131" onclick="chooseArea(this)">一</li>
<li id="li_132" onclick="chooseArea(this)">二</li>
<li id="li_133" onclick="chooseArea(this)">三</li>
</ul>
</li>
</ul>
</li>
<li id="li_2" onclick="chooseArea(this)">456</li>
<li id="li_3" onclick="chooseArea(this)">789</li>
</ul></body></html>
如:点三的话会执行<li id="li_133" onclick="chooseArea(this)">三</li>,<li id="li_13" onclick="chooseArea(this)">,<li id="li_1" onclick="chooseArea(this)">
<script language="javascript">
var str="";
function chooseArea(o){
var a=o.innerHTML.split("<UL>");
if (str=="")
str=a[0];
else
str=a[0]+"-"+str;
document.getElementById("jg").value=str;
setTimeout("a()", 500);
}
function a(){
str="";
}
</script><p id="text">text</p>
<ul id="ul">
<li id="li_1" onclick="chooseArea(this)">
123
<ul>
<li id="li_11" onclick="chooseArea(this)">abc</li>
<li id="li_12" onclick="chooseArea(this)">def</li>
<li id="li_13" onclick="chooseArea(this)">ghi
<ul>
<li id="li_131" onclick="chooseArea(this)">一</li>
<li id="li_132" onclick="chooseArea(this)">二</li>
<li id="li_133" onclick="chooseArea(this)">三</li>
</ul>
</li>
</ul>
</li>
<li id="li_2" onclick="chooseArea(this)">456</li>
<li id="li_3" onclick="chooseArea(this)">789</li>
</ul>
<input id="jg" type="text">
lihui_shine 也很牛 不过代码仍有些bugsetTimeout("a()", 500);
setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。
$("#orderedlist").find("li").each(function(i) {
alert( $(this).html());
});
});
这句是什么意思?
关键还是这一句,换到复杂的界面中,split的参数也要改变,如 '<UL style'。