初级jQuery问题(FF/IE问题)
我一直在玩jQuery,只是尝试在点击链接时替换文本字段,以及隐藏/显示内容项。在IE中它似乎工作得很好,但在FF中我似乎无法让它工作 我的jQuery:初级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
$(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=很好的建议,谢谢你,大卫-我现在就试试这个,然后再给你回复。我感谢你提供的信息-斯科特不担心,这总是一种乐趣=