日期:2014-05-16  浏览次数:20375 次

如何用js获取js生成的字符串的值
1、用js生成一个字符串,例如:用代码:<div id='Count'><script src="http://XXX.cnzz.com/stat.php?id=XXXXX&web_id=XXXXX&online=1" language="JavaScript"></script></div>,生成的值是:站长统计 今日IP[xxx]今日PV[12345]昨日IP[xxxx]昨日PV[xxxx]当前在线[xxxx]
2、如何用另外的js代码取得取得“12345”这个数字呢?

非常感谢

------解决方案--------------------
var value = $("#Count").text().replace(/^.*PV\[(\d{5})\].*/, "$1");

------解决方案--------------------
在div的后面或者在window.onload里
JScript code
    var div=document.getElementById('Count');
    var text='';
    (function(node){
        for(var i=0,il=node.childNodes.length,cNode;i<il;i++){
            cNode=node.childNodes[i];
            if(cNode.nodeType==1){
                if(cNode.nodeName.toUpperCase()!='SCRIPT'){
                    arguments.callee(cNode);
                }
            }else if(cNode.nodeType==3){
                text+=cNode.nodeValue;
            }
        }
    })(div);
    alert(text);
    /今日PV\[([0-9]+?)\]/.test(text);
    alert(RegExp.$1);

------解决方案--------------------
JScript code

--得到   站长统计 今日IP[xxx]今日PV[12345]昨日IP[xxxx]昨日PV[xxxx]当前在线[xxxx]
var count = document.getElementById("Count").innerHTML;
--以[为界线拆成数组:sum[0]=站长统计 今日IP,sum[1]:xxx]今日PV,sum[2]:12345]昨日IP,sum[3]:xxxx]昨日PV,sum[4]:xxxx]当前在线,sum[5]:xxxx]
var sum = count.split("[");
--得到数组中第3位的值,为:12345]昨日IP
var num = sum[2];
--截取前面五位得到:12345
var str = num.substring(0,5);
--有思路的话记得给分哦 - -!

------解决方案--------------------
<div id='Count'><script src="http://XXX.cnzz.com/stat.php?id=XXXXX&web_id=XXXXX&online=1" language="JavaScript"></script></div>

<script>
function AAA(){
alert(document.getElementById("Count").innerHTML.match(/PV\[(\d+)\]/)[1]);
}
//因为你是动态加的script所以
//1.在script中加上onload="AAA();" 加载完毕执行AAA
//2.setTimeout(AAA(),5000); 5秒钟执行AAA,网速不理想的话依然报错
</script>