admin管理员组

文章数量:1416631

I wrote this script but it only works if I don't ad class="yes", but if iI add it, it won't work, what's the reason for this. Thank you.

This works:

<script type="text/javascript">  

    var d=new Date();
    var weekday=new Array(7);
    weekday[0]="<div>Sunday</div>";
    weekday[1]="<div>Monday</div>";
    weekday[2]="<div>Tuesday</div>";
    weekday[3]="<div>Wednesday</div>";
    weekday[4]="<div>Thursday</div>";
    weekday[5]="<div>Friday</div>";
    weekday[6]="<div>Saturday</div>";

    document.write("Today is " + weekday[d.getDay()]);

</script>

This doesn't work

<script type="text/javascript">

    var d=new Date();
    var weekday=new Array(7);
    weekday[0]="<div class="yes">Sunday</div>";
    weekday[1]="<div class="yes">Monday</div>";
    weekday[2]="<div class="yes">Tuesday</div>";
    weekday[3]="<div class="yes">Wednesday</div>";
    weekday[4]="<div class="yes">Thursday</div>";
    weekday[5]="<div class="yes">Friday</div>";
    weekday[6]="<div class="yes">Saturday</div>";

    document.write("Today is " + weekday[d.getDay()]);

 </script>

I wrote this script but it only works if I don't ad class="yes", but if iI add it, it won't work, what's the reason for this. Thank you.

This works:

<script type="text/javascript">  

    var d=new Date();
    var weekday=new Array(7);
    weekday[0]="<div>Sunday</div>";
    weekday[1]="<div>Monday</div>";
    weekday[2]="<div>Tuesday</div>";
    weekday[3]="<div>Wednesday</div>";
    weekday[4]="<div>Thursday</div>";
    weekday[5]="<div>Friday</div>";
    weekday[6]="<div>Saturday</div>";

    document.write("Today is " + weekday[d.getDay()]);

</script>

This doesn't work

<script type="text/javascript">

    var d=new Date();
    var weekday=new Array(7);
    weekday[0]="<div class="yes">Sunday</div>";
    weekday[1]="<div class="yes">Monday</div>";
    weekday[2]="<div class="yes">Tuesday</div>";
    weekday[3]="<div class="yes">Wednesday</div>";
    weekday[4]="<div class="yes">Thursday</div>";
    weekday[5]="<div class="yes">Friday</div>";
    weekday[6]="<div class="yes">Saturday</div>";

    document.write("Today is " + weekday[d.getDay()]);

 </script>
Share Improve this question edited Nov 27, 2011 at 4:15 Adam Rackis 83.4k57 gold badges278 silver badges400 bronze badges asked Nov 27, 2011 at 4:11 user172071user172071 651 silver badge5 bronze badges
Add a ment  | 

4 Answers 4

Reset to default 4

Try single quote:

<script type="text/javascript">

    var d=new Date();
    var weekday=new Array(7);
    weekday[0]="<div class='yes'>Sunday</div>";
    weekday[1]="<div class='yes'>Monday</div>";
    weekday[2]="<div class='yes'>Tuesday</div>";
    weekday[3]="<div class='yes'>Wednesday</div>";
    weekday[4]="<div class='yes'>Thursday</div>";
    weekday[5]="<div class='yes'>Friday</div>";
    weekday[6]="<div class='yes'>Saturday</div>";

    document.write("Today is " + weekday[d.getDay()]);

 </script>

Notice the syntax highlighting - your double quotes are matching with the starting and ending double quotes for the string. You need to escape them:

<script type="text/javascript">

    var d = new Date();
    var weekday = new Array(7);
    weekday[0] = "<div class=\"yes\">Sunday</div>";
    weekday[1] = "<div class=\"yes\">Monday</div>";
    weekday[2] = "<div class=\"yes\">Tuesday</div>";
    weekday[3] = "<div class=\"yes\">Wednesday</div>";
    weekday[4] = "<div class=\"yes\">Thursday</div>";
    weekday[5] = "<div class=\"yes\">Friday</div>";
    weekday[6] = "<div class=\"yes\">Saturday</div>";

    document.write("Today is " + weekday[d.getDay()]);

</script>

Oh, and a possibly easier way to do this:

<script type="text/javascript">
    document.write("Today is <div class=\"yes\">" +
        ["Sun", "Mon", "Tues", "Wednes", "Thurs", "Fri", "Satur"][new Date().getDay()] +
        "day</div>");
</script>

Your double quote is breaking the string. Change

weekday[0]="<div class="yes">Sunday</div>";

to

weekday[0]="<div class='yes'>Sunday</div>";

You need to use single quotes:

weekday[0]="<div class='yes'>Sunday</div>";

If you don't do it, your String won't be valid because the first String accepted will be

"<div class=" 

and then the rest won't be expected.

本文标签: javascriptAdd CSS class to divStack Overflow