Javascript 我怎样才能确定“什么”呢;代币;导致错误的原因是什么?

Javascript 我怎样才能确定“什么”呢;代币;导致错误的原因是什么?,javascript,jquery,Javascript,Jquery,我正在构建一个使用jQuery显示和隐藏页面内容的页面。我已经让代码正常工作了,但是当它在浏览器控制台中完成时,会出现以下错误: “未捕获的语法错误:无效或意外的令牌” 但是,我看不到它向代码中注入了什么无效或意外的标记 我已经通过一个检查器运行了代码,代码没有任何问题,只是希望有人能够对我应该用来避免这些问题的一个片段进行一些说明。我还创建了一个fiddle来运行和检查这些错误,只是为了确保它不是由于代码的当前位置造成的 jQuery(document).ready(function($) {

我正在构建一个使用jQuery显示和隐藏页面内容的页面。我已经让代码正常工作了,但是当它在浏览器控制台中完成时,会出现以下错误:

“未捕获的语法错误:无效或意外的令牌”

但是,我看不到它向代码中注入了什么无效或意外的标记

我已经通过一个检查器运行了代码,代码没有任何问题,只是希望有人能够对我应该用来避免这些问题的一个片段进行一些说明。我还创建了一个fiddle来运行和检查这些错误,只是为了确保它不是由于代码的当前位置造成的

jQuery(document).ready(function($) {
    $(".featuresList").on("click", ".alert-cerberus", function(e) {
        e.preventDefault();
        $(".alert-cerberus").removeClass("active");
        $(".featuresContent").removeClass("show");
        $(this).addClass("active");
        $($(this).attr('onclick')).addClass("show");
    });
});
下面是我设置的一个js小提琴,用于复制:

代码应使选择的选择面板显示不同的颜色,并使内容显示在页面上。类似于作为jQuery基础的hide/show函数,但不必构建多行代码来支持它。

“Token”只是指一个东西,可以是字符串、变量或其他东西。在这种情况下,单击错误会将您指向标记中的这一行:

<div class="..." role="alert" onclick="#powerfulFTP">
然后抓住它:

$( $(this).data('whatever') ).addClass('show');
无论什么
都应该是事物本身的语义术语,可能是
数据父ID

此外,您不应该在这里使用
preventDefault
,因为您没有使用锚定

未经请求的代理:

  • 请注意演示中的
    文档.ready
    速记。节省一些打字时间
  • 对JS使用单引号,对HTML使用双引号可以避免一些令人头痛的问题

这个问题是
onclick=
在jquery委托事件处理程序之前启动

因此,浏览器会看到
onclick='#powerfulFtp'
并尝试对其求值,给出一个错误

更改为
,事件将从

$($(this).attr('onclick')).addClass("show");


它会很好地工作。

是的,但当你点击其他部分时,它会将错误添加到每一行中。因此,它表示每次单击启动代码的某个警报时都会添加某些内容。不,它试图计算表达式,而该表达式不是表达式。
$($(this).attr('onclick')).addClass("show");
$($(this).data('onclick')).addClass("show");