Object转换为字符并去空格

时间:2022-02-23 05:09:44

<div id="txt" style="display:none">1、“不积跬步,无以至千里”的古语说明( A )
A.没有量的积累,不可能发生质变 B.在新质基础上量的扩展
C.事物发展是前进性和曲折性的统一 D.事物发展的无限性
2、马克思主义产生于( B )
A.18世纪90年代 B.19世纪40年代 C.19世纪70年代 D.19世纪90年代
3、马克思主义公开问世的标志性著作是( A )
A.《共 产 党宣言》 B.《德意志意识形态》 C.《资本论》 D.《神圣家族》
4、马克思主义的创始人是( C )
A.马克思和亚当·斯密 B.马克思和大卫·李嘉图
C.马克思和恩格斯 D.马克思和费尔巴哈

</div>
<script>
var g=1;
do{

var txt = document.getElementById("txt").innerHTML;
var text_start = txt.indexOf(g+"、");

var text_end = txt.indexOf(g+1+"、");
if (text_end == -1)
{
var text_end = txt.length;
}
var text = txt.substring(text_start,text_end);

var A_start = text.indexOf("A.");
var Title = text.substr(0,A_start);

var B_start = text.indexOf("B.");
var A_option = text.substr(A_start,B_start-A_start);

var C_start = text.indexOf("C.");
var B_option = text.substr(B_start,C_start-B_start);

var D_start = text.indexOf("D.");
var C_option = text.substr(C_start,D_start-C_start);

var D_option = text.substr(D_start,Title.length);
var Answer_start = Title.indexOf("(");
if(Answer_start ==-1)
{
var Answer_start = Title.indexOf("(");
}
var Answer_end = Title.indexOf(")");
if(Answer_end ==-1)
{
var Answer_end = Title.indexOf(")");
}

var Answer = Title.substring(Answer_start+1,Answer_end-1).trim();

本题得到的Answer里面有空格,用.trim()这个方法可以把空格去掉。

Title = Title.replace(Answer,"&nbsp;");

.replace()括号里面,逗号之前是被替换的部分,简而言之是后面把前面替换掉。

document.write('<p>'+Title+'</p><br/>');

document.write('<label><input type="radio" onClick="change(this.name)" name='+g+' value="A"/>'+A_option+'</label><br/>');

document.write('<label><input type="radio" onClick="change(this.name)" name='+g+' value="B"/>'+B_option+'</label><br/>');

document.write('<label><input type="radio" onClick="change(this.name)" name='+g+' value="C"/>'+C_option+'</label><br/>');
document.write('<label><input type="radio" onClick="change(this.name)" name='+g+' value="D"/>'+D_option+'</label><br/>');
document.write('<p id='+g+' style="display:none">'+Answer+'</p><br/>');

g++;
}while(g<5);

function change(g)
{
var chkObjs = document.getElementsByName(g);
var chk;
for(var i=0;i<chkObjs.length;i++)
{
if(chkObjs[i].checked)
{
chk = i;
break;
}
}

var A = document.getElementById(g).innerHTML;

如果只有var A = document.getElementById(g)那么A的值就是“<p id='g' style="display:none">Answer</p>”,后面加上.innerHTML之后就可以得到标签里面的字符了。
if ( chkObjs[chk].value == A)
{
alert("恭喜你回答正确!");
}
else
{
alert("再考虑考虑。");
}