Javascript 语法缺失)何时所有)似乎都在那里?

Javascript 语法缺失)何时所有)似乎都在那里?,javascript,jquery,syntax,innerhtml,Javascript,Jquery,Syntax,Innerhtml,好吧,我一直在建这个网站。其中一个页面是新闻提要www.wenotelling.x10.mx/news/ 新闻页面中嵌入了新闻提要页面,这是实际更新发生的地方。所有这些都很好,而且这个网页似乎很有效。不过我有两个问题 加载页面时新闻提要似乎没有更新,但在刷新页面时加载 我想添加笑脸 所以我编写了一些JScript来一次性解决这两个问题。由于新闻提要是通过HTML页面更新的,我不想每次都搜索笑脸的URL,因此我产生了以下代码: 然后我看了看剧本,好吧,所有的剧本似乎都在那里。不仅如此,22号线之

好吧,我一直在建这个网站。其中一个页面是新闻提要www.wenotelling.x10.mx/news/ 新闻页面中嵌入了新闻提要页面,这是实际更新发生的地方。所有这些都很好,而且这个网页似乎很有效。不过我有两个问题

  • 加载页面时新闻提要似乎没有更新,但在刷新页面时加载
  • 我想添加笑脸
  • 所以我编写了一些JScript来一次性解决这两个问题。由于新闻提要是通过HTML页面更新的,我不想每次都搜索笑脸的URL,因此我产生了以下代码:

    然后我看了看剧本,好吧,所有的剧本似乎都在那里。不仅如此,22号线之前的笑脸也不起作用

    无论如何。你知道为什么吗 1) 微笑没有出现?
    2) 脚本未完全执行?

    有时javascript错误有点误导,但至少可以在代码中发现一个语法错误:

     if(location.hash !="#");{
    
    有一个额外的
    。也许这就是原因


    顺便说一句,既然您正在使用jQuery,为什么不将它用于元素选择和html内容设置呢

    在链接到的脚本第19行:

    那个分号不应该在那里。(顺便说一句,
    if
    块内的行应该缩进)

    此外,没有
    document.getElementsByClass
    这样的东西,只有
    document.getElementsByClassName
    ,它返回一个节点列表而不是一个元素(因此更改其
    innerHTML
    不会有多大作用)

    其他说明:

    • 在您的网站中,您将包含
      css/stylesheet.css
      两次(第4行和第12行),如果您将iframe中的一行计算在内,实际上是3次

    • 您使用的jquery版本已经过时得令人难以置信,在这种情况下,包含jquery几乎是不合理的-您只是使用它来做一个
      $(document).ready
      ,如果您粘贴(半关闭)
      窗口,则可以不使用jquery。onload
      侦听器,或者只是将脚本放在
      附近

    • 正如我在评论中所说的,我完全同意,不要只是把图片贴在那些元素里面。添加一个合适的CSS类,并让CSS处理它


      • 您应该立即修复的几件事是对不存在的方法的调用,以及一个错误的分号。第一个是调用
        getElementByClass
        ,它是单数而不是复数。其次,这里有一个分号不合适:
        if(location.hash!=“#”)

        由于您使用的是jQuery,我建议您避免使用诸如
        getElementsByClass
        之类的本机方法,因为在一些较旧的浏览器中不存在这种方法。相反,请尝试以下方法:

        var emoticons = ["happy","star","dead","yawn"];
        
        $(document).ready(function () {
            $.each(emoticons, function (index, value) {
                $("<img>", {src: "smileys/" + value + ".gif"}).appendTo("." + value);
            });
        });​
        
        var表情=[“快乐”、“明星”、“死亡”、“哈欠”];
        $(文档).ready(函数(){
        $.each(表情符号、函数(索引、值){
        $("
        请注意,在这里我们不会对每个表情反复重复。我鼓励您研究精灵,因为它们通常能更好地解决此类问题。但这是另一天的事情


        演示:

        if(location.hash!=“#”)
        不是
        if(location.hash!=“#”)
        为什么不使用css背景图像?还有,
        location=”#"
        有效的赋值???使用在线语法验证站点,如jslint或jshint…你会比写问题更快地隔离你自己的问题看到当你正确地标记代码时,错误会立即消失吗?我包括两次我的样式表?第12行包括导航栏…这是否重新包括样式表然后呢?不管怎样,我会研究一下如何使用CSS。对不起,第13行;第12行是源代码的第12行,在那里你也可以打开
        。在页面上查看源代码。啊。我知道我现在做了什么。最初我把导航栏作为一个iFrame。显然,这不起作用,所以我把它改为.php。样式表w随着head和html的重新打开,也包括在.php中。
         if(location.hash !="#");{
        
        if(location.hash !="#");{
        
        var emoticons = ["happy","star","dead","yawn"];
        
        $(document).ready(function () {
            $.each(emoticons, function (index, value) {
                $("<img>", {src: "smileys/" + value + ".gif"}).appendTo("." + value);
            });
        });​