Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
初级jQuery问题(FF/IE问题)_Jquery_Firefox - Fatal编程技术网

初级jQuery问题(FF/IE问题)

初级jQuery问题(FF/IE问题),jquery,firefox,Jquery,Firefox,我一直在玩jQuery,只是尝试在点击链接时替换文本字段,以及隐藏/显示内容项。在IE中它似乎工作得很好,但在FF中我似乎无法让它工作 我的jQuery: $(function() { $(".articles a").click(function() { articlenumber = "1" $(articlenumber).css("display", "none"); articlenumber = $(this).attr("id"); article

我一直在玩jQuery,只是尝试在点击链接时替换文本字段,以及隐藏/显示内容项。在IE中它似乎工作得很好,但在FF中我似乎无法让它工作

我的jQuery:

$(function() {

$(".articles a").click(function() {
    articlenumber = "1"
    $(articlenumber).css("display", "none");
    articlenumber = $(this).attr("id");
    articlename = $(this).attr("name");
    articlenumber = '".' + articlenumber + '"';
    //alert(articlenumber);
    //$(articlenumber).css("display", "inline");
    $(articlenumber).attr("style", "display:inline;")
    $(".articletitle").text(articlename)
}); 
和我的简化HTML:

<a id="article1" name="Article Title1" href="#">Link</a>
<a id="article2" name="Article Title2" href="#">Link</a>
<div class="articlename">Title</div>
<div class="article1" style="display:none;">Text 1</div>
<div class="article2" style="display:none;">Text 2</div>
有什么建议可以解释为什么这在FireFox中不起作用?有什么我能清理的吗

$(".articles a").click(function() {
    articlenumber = "1"
    $(articlenumber).css("display", "none");
    articlenumber = $(this).attr("id");
    articlename = $(this).attr("name");
    articlenumber = '".' + articlenumber + '"';
    $(articlenumber).attr("style", "display:inline;")
    $(".articletitle").text(articlename)
});
好的,按照脚本的顺序: 在尝试赋值之前声明变量,终止该行并记住1是数字而不是字符串:

articlenumber = "1"
应该是

var articlenumber = 1;
jQuery通常希望标识符是id、类或元素类型a、li等。id和类都不能以数字开头,它们必须以和下划线或字母加上我记不起来的其他几个字符开头,并且没有元素。这可能是一个问题,因为:

$(articlenumber)
相当于:

$(1) or $('1')
我认为这两个都是,或者应该是无效的

然后重新分配articlenumber,而不首先声明它为var。在初始化articlename时,下一行中也是如此。

我不确定这些是否是您的主要问题我删除了您的注释代码,但修复了明显的问题,然后我们可以进一步讨论

我强烈建议,当你在Firefox中加载/交互页面时,你应该掌握Firebug并观察它的控制台。它会告诉你你遇到的主要问题。此外,作为补充,我强烈建议您使用Google Chrome和Web Inspector、Safari Webkit和Chrome、Mozilla Firefox和Firebug以及/或者Opera和蜻蜓开发您的网站/脚本。这些浏览器和web开发工具或多或少会迫使您正确地开发脚本。一旦它们开始工作,并且有效,然后在IE中尝试

通常情况下,如果它在其他任何地方都能工作,那么在IE中开发似乎首先会让你养成坏习惯和容易出错的JavaScript/jQuery,然后当其他浏览器拒绝合作时,你会感到困惑、慌乱或沮丧

好的,按照脚本的顺序: 在尝试赋值之前声明变量,终止该行并记住1是数字而不是字符串:

articlenumber = "1"
应该是

var articlenumber = 1;
jQuery通常希望标识符是id、类或元素类型a、li等。id和类都不能以数字开头,它们必须以和下划线或字母加上我记不起来的其他几个字符开头,并且没有元素。这可能是一个问题,因为:

$(articlenumber)
相当于:

$(1) or $('1')
我认为这两个都是,或者应该是无效的

然后重新分配articlenumber,而不首先声明它为var。在初始化articlename时,下一行中也是如此。

我不确定这些是否是您的主要问题我删除了您的注释代码,但修复了明显的问题,然后我们可以进一步讨论

我强烈建议,当你在Firefox中加载/交互页面时,你应该掌握Firebug并观察它的控制台。它会告诉你你遇到的主要问题。此外,作为补充,我强烈建议您使用Google Chrome和Web Inspector、Safari Webkit和Chrome、Mozilla Firefox和Firebug以及/或者Opera和蜻蜓开发您的网站/脚本。这些浏览器和web开发工具或多或少会迫使您正确地开发脚本。一旦它们开始工作,并且有效,然后在IE中尝试


通常情况下,如果它在其他任何地方都能工作,那么在IE中开发似乎首先会让你养成坏习惯和容易出错的JavaScript/jQuery,然后当其他浏览器拒绝合作时,你会感到困惑、慌乱或沮丧。

尝试改变这一行:

$(".articletitle").text(articlename)


另外,我想知道类描述符.articletitle和.articlename是否正确。articletitle类我在HTML中看不到-只在javascript中看到。。除非是别的地方

尝试更改此行:

$(".articletitle").text(articlename)


另外,我想知道类描述符.articletitle和.articlename是否正确。articletitle类我在HTML中看不到-只在javascript中看到。。除非是别的地方

在开始时添加var似乎并没有改变FF中的任何内容,即仍然可以正常工作。在本例中,我只是声明它,但我需要这些值是字符串。您已经多次使用相同的id。id属性是唯一的。另外,您似乎正在使用articlenumber作为选择器,这很奇怪,因为这将选择不存在的1元素@弗兰克,你觉得呢?看看这个问题,但他肯定应该=请澄清一下,您似乎忘记关闭主函数。在开头添加var似乎并没有改变FF中的任何内容,即仍然可以正常工作。在这种情况下,我只是宣布它
,但我需要这些值是字符串。您已多次使用同一id。id属性是唯一的。另外,您似乎正在使用articlenumber作为选择器,这很奇怪,因为这将选择不存在的1元素@弗兰克,你觉得呢?看看这个问题,但他肯定应该=请澄清一下,您似乎忘记关闭主功能了。好的建议,谢谢您,大卫-我现在尝试一下,然后再给您回复。我感谢你提供的信息-ScottNo担心,“It’s every a journey=很好的建议,谢谢你,大卫-我现在就试试这个,然后再给你回复。我感谢你提供的信息-斯科特不担心,这总是一种乐趣=