我一直在使用split函数来分割日期但是代码在IE上不起作用,虽然与其他browser.ul一起使用,但是动态生成了li。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<table cellspacing="0" cellpadding="0" border="0" width="100%">
<tbody>
<tr>
<td id="getexp">
<ul class="zoneSubscriptions">
<li>
<ul>
<li class="zoneName"><a href="/xyz.com">thats my info</a></li>
<li>5/04/2012</li>
<li>792.00 Yearly</li>
<li><a href="#">Cancel</a></li>
</ul>
</li>
</ul>
</td>
</tr>
</tbody>
</table>
<script>
function getText()
{
var val = document.getElementById('getexp').innerHTML;
var val1=(val.split("<ul>"));
var val1=(val.split("<li>"));
var dat=val1[2];
var res=(dat.split("</li>"));
alert(res[0]);
}
getText();
</script>
</body>
</html>
答案 0 :(得分:0)
这里不需要split
。您可以在一个Nodelist
对象中获取所有li
,如下所示:
var res = document.getElementById('getexp').getElementsByTagName('li');
alert(res[0]);
根据评论 编辑:如果您确实需要split
,则可以使用正则表达式来确保不区分大小写。此外,如果它是第二个&lt; ul&gt;的innerHTML,那么给它&lt; ul&gt;一个 id (比如说'数据')。如果它是您所追踪的日期,那么您正在寻找split
为您提供的数组的第二个元素(数组为zero based)您的函数可以简化为:
function getText()
{
var val = document.getElementById('data').innerHTML.split(/<li>/i);
, res = val[1].replace(/<\/li>/i,'');
alert( res );
//now if you want to increase the year in the date:
var dat = res.split(/\//);
dat[2] = parseInt(dat[2],10)+1;
val[1] = dat.join('/')+'</li>';
}