我的大学提供等级卡,这真的很混乱,计算最终结果真的很难。因为所有科目的最终权重都不同。
我正在开发一个BCA结果计算器。这是https://www.bobdn.com/IGNOU_BCA_Result.aspx
我在div中有以下代码(我无法更改它,因为它是从大学网站返回的)
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE>Grade Card</TITLE>
<h1> Grade Card </h1>
<h1> </h1>
(All programs Except for BIT/ADIT)
</HEAD>
<BODY bgcolor=Lavender>
<form name=FRMResult method=post action=Result.asp>
<center> <font size=+2> Indira Gandhi National Open University </font>
<br> Grade Card Status as on May 09, 2012<br> (For information only)</center>
Enrolment Number: 092853268<br> Name: SHASHWAT TRIPATHI<br> Program: BCA<p><font size=-1> The Status is indicative only & cannot be used as a substitute for the final grade card which is sent by SRE at the end of a semester.</font><br><table border=1 width='80%' background='ignou.gif'><tr><td width='10%'> Course Code </td><td width='10%' align=center> Asgn1 </td><td width='10%' align=center> Asgn2 </td><td width='10%' align=center> Asgn3 </td><td width='10%' align=center> Asgn4 </td><td width='10%'> Term End Theory </td><td width='10%'> Term End Practical</td><td width='10%'> Status </td></tr><tr><td width='5%' >BCS61</td><td width='10%' >80</td><td width='10%' >73</td><td width='10%' >-</td><td width='10%' >-</td><td width='10%' >40</td><td width='10%' >67</td><td width='20%' >Completed</td></tr><tr><td width='5%' >BSHF1</td><td width='10%' >35</td><td width='10%' >35</td><td width='10%' >-</td><td width='10%' >-</td><td width='10%' >41</td><td width='10%'>-</td><td width='20%' >Completed</td></tr><tr><td width='5%' >CS5</td><td width='10%' >80</td><td width='10%' >87</td><td width='10%' >-</td><td width='10%' >-</td><td width='10%' >48</td><td width='10%'>-</td><td width='20%' >Completed</td></tr><tr><td width='5%' >CS6</td><td width='10%' >70</td><td width='10%' >67</td><td width='10%' >-</td><td width='10%' >-</td><td width='10%' >59</td><td width='10%'>-</td><td width='20%' >Completed</td></tr><tr><td width='5%' >CS60</td><td width='10%' >90</td><td width='10%' >87</td><td width='10%' >-</td><td width='10%' >-</td><td width='10%' >53</td><td width='10%'>-</td><td width='20%' >Completed</td></tr><tr><td width='5%' >CS610</td><td width='10%' >60</td><td width='10%' >60</td><td width='10%' >-</td><td width='10%' >-</td><td width='10%' >48</td><td width='10%'>-</td><td width='20%' >Completed</td></tr><tr><td width='5%' >CS611</td><td width='10%' >80</td><td width='10%' >80</td><td width='10%' >-</td><td width='10%' >-</td><td width='10%' >52</td><td width='10%' >88</td><td width='20%' >Completed</td></tr><tr><td width='5%' >CS612</td><td width='10%' >70</td><td width='10%' >67</td><td width='10%' >-</td><td width='10%' >-</td><td width='10%' >70</td><td width='10%'>-</td><td width='20%' >Completed</td></tr><tr><td width='5%' >CS62</td><td width='10%' >80</td><td width='10%' >80</td><td width='10%' >-</td><td width='10%' >-</td><td width='10%' >40</td><td width='10%' >91</td><td width='20%' >Completed</td></tr><tr><td width='5%' >CS63</td><td width='10%' >90</td><td width='10%' >93</td><td width='10%' >-</td><td width='10%' >-</td><td width='10%' >48</td><td width='10%' >85</td><td width='20%' >Completed</td></tr><tr><td width='5%' >CS64</td><td width='10%' >59</td><td width='10%' >59</td><td width='10%' >-</td><td width='10%' >-</td><td width='10%' >40</td><td width='10%'>-</td><td width='20%' >Completed</td></tr><tr><td width='5%' >CS65</td><td width='10%' >50</td><td width='10%' >53</td><td width='10%' >-</td><td width='10%' >-</td><td width='10%' >-</td><td width='10%' >97</td><td width='20%' >Completed</td></tr><tr><td width='5%' >CS66</td><td width='10%' >80</td><td width='10%' >80</td><td width='10%' >-</td><td width='10%' >-</td><td width='10%' >57</td><td width='10%'>-</td><td width='20%' >Completed</td></tr><tr><td width='5%' >CS67</td><td width='10%' >83</td><td width='10%' >83</td><td width='10%' >-</td><td width='10%' >-</td><td width='10%' >-</td><td width='10%' >93</td><td width='20%' >Completed</td></tr><tr><td width='5%' >CS68</td><td width='10%' >63</td><td width='10%' >63</td><td width='10%' >-</td><td width='10%' >-</td><td width='10%' >62</td><td width='10%' >77</td><td width='20%' >Completed</td></tr><tr><td width='5%' >CS70</td><td width='10%' >70</td><td width='10%' >67</td><td width='10%' >-</td><td width='10%' >-</td><td width='10%' >45</td><td width='10%'>-</td><td width='20%' >Completed</td></tr><tr><td width='5%' >CS71</td><td width='10%' >90</td><td width='10%' >87</td><td width='10%' >-</td><td width='10%' >-</td><td width='10%' >-</td><td width='10%'>-</td><td width='20%' >Not Completed</td></tr><tr><td width='5%' >FST1</td><td width='10%' >66</td><td width='10%' >66</td><td width='10%' >-</td><td width='10%' >-</td><td width='10%' >73</td><td width='10%'>-</td><td width='20%' >Completed</td></tr></table><br/><font size=-1 >Not with standing the result published/declared, any case of UFM(Unfairmeans) if found will make such result null and void.</font><p> </p><u>Note:- Assignment 4 and TE Practical do not apply to all the courses.</u><font size=-1 color=blue><center>Disclaimer: This electronically generated information does not have any legal validity</font></center>
<P> </P>
<a href="javascript:history.back()">Back </a>
<!--#'include file=scroll.js-->
</BODY>
</HTML>
假设我将此代码放在ID为tempDiv
的div中
现在我如何从tempDiv
另外,这里有一个jsFiddle,显示了大学HTML的相关部分。
答案 0 :(得分:2)
假设你的html保持不变......你可以使用以下代码
var z = $('form').html(); //grab the html
var za = z.split('<br>',4); //split using <br> tags
var name = za[3]; //the element which has the name
var purename = name.replace('Name: ',''); //replace 'Name: ' with space to get pure name
alert(purename); //alert it
如果IGNOU更改了html,则必须再次编辑它。
答案 1 :(得分:1)
这可能有效:
function getNameProgram(){
var strTotal=document.getElementById('tempDiv').innerHTML;
var ind1=strTotal.indexOf('Name');
var ind2=strTotal.indexOf('Program');
var ind3=strTotal.indexOf('<P><FONT size=-1>');
var strName=strTotal.substring(ind1,ind2);
var strProgram=strTotal.substring(ind2,ind3);
strName=$.trim(strName.replace('Name:','').replace('<BR>',''));
strProgram=$.trim(strProgram.replace('Program:',''));
alert('MYNAME:'+ strName + '\n' + 'MYPROGRAM:' + strProgram );
}
答案 2 :(得分:1)
此答案假定您已从远程服务器检索HTML并将其加载到HTML页面上。进入您的页面并在DOM的上下文中,以下代码将从HTML中检索名称:
var form = $('form').text();
var nameIndex = form.indexOf("Name: ");
//alert(i);
alert(form.substring(134 + 5)); // prints the name
请参阅http://jsfiddle.net/bsBCR/2/了解演示。
需要注意的是,许多系统都有API,您可以使用这些API从系统中更轻松地检索数据。 API就像您的应用程序和第三方应用程序之间的合同,如果第三方承诺不更改该URL的“方法签名”,您承诺将使用相同的URL来检索数据。 / p>
检索和解析RAW HTML时,没有合同。用简单的英语,如果大学改变了HTML的结构,你的应用程序就会中断。准备好将其作为风险添加,并在将来有必要时提出解决该问题的策略。