10/10/2018, 10:04
[Help]Giúp mình đoạn js này không làm việc trên IE.
Mình có đoạn HTML sau:
MÌnh dùng đoạn JS để lấy số 5 kia ra:
Kết quả là nó chỉ ra số 5 ở FF , còn ở IE lại ra NaN . Các bạn giúp mình sửa code trên với.
Code:
<div class="postprofile" id="profile1">
<span style="white-space:nowrap;">
<span style="color:#536482;">Posts</span>: </span> 5
<br />
</div>
Code:
x = document.getElementsByTagName('div')
For(y=0;y<x.length;y++)
{
If(x[y].className == "postprofile"){
A= x[y].innerHTML;
B=parseInt(x[y].innerHTML.split("Posts</span>: </span> ")[1]);
Document.write(B);
}
}
Bài liên quan





code của bạn bị lỗi chỗ split
<html> <body> <div class="postprofile" id="profile1"> <span style="white-space:nowrap;"> <span style="color:#536482;">Posts</span>: </span> <span class="abc" id="sp_profile1">5</span> <br /> </div> <script language="javascript"> x = document.getElementsByTagName('span'); for(i=0;i<x.length;i++) { if(x[i].className == "abc") { a = x[i].innerHTML; document.write(a); } } </script> </body> </html><script language="javascript"> var st=document.getElementById("profile1").innerHTML; var p1=st.lastIndexOf("</span>")+7; var p2=st.lastIndexOf("<br />"); var result=st.substring(p1,p2); alert(result); </script>Hướng giải quyết: chuyển tất cả về chữ thường trước khi split.
Mình đã check và có thể fix lại đoạn code của bạn như sau cho phù hợp nếu bạn vẫn muốn dùng cách này:
B=parseInt(x[y].innerHTML.toLowerCase().split("posts</span>: </span>")[1]);Check nhiêu đó thấy nó chạy nên post lên, chưa dám khẳng định.
Trong trường hợp này bạn cũng có thể dùng cách khác. Chẳng hạn như cách của thuyduongcd chẳng hạn.