href javascript无法使用Tampermonkey脚本

时间:2014-05-14 20:45:50

标签: javascript jquery greasemonkey tampermonkey

我想编写一个脚本来切换<td>元素的显示属性 我有:

// ==UserScript==
// @name       Dema VOC hide
// @version    0.1
// @include      http://mywebsite.com/*
// @require    http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js
// ==/UserScript==

 function toggle(){
        $("td[style='color:Red; height:50px']").toggle();        
} 
//Avoid conflicts
$(document).ready(function()
{      
    $('.hlavicka_vyhledavani:first-child').append("<a href='javascript:toggle()' id='toggle' class='content-link1'><b>B2B</b></a>");
    toggle();
});

.toggle()本身有效,所以jQuery正在加载,但点击B2B链接后我收到错误:

  

未捕获的TypeError:对象不是函数

1 个答案:

答案 0 :(得分:2)

重写一下你的代码。既然你正在使用jQuery,你可以放弃内联JS -

function toggle(){
        $("td[style='color:Red; height:50px']").toggle();        
} 

$(document).ready(function() {      
    $('.hlavicka_vyhledavani:first-child').append("<a href='#' id='toggle' class='content-link1'><b>B2B</b></a>");

    $('body').on('click', '#toggle', function() { // account for dynamically added elements with event delegation
        /* you may want to reconsider the name of the function
         * since there is a function you're calling with that name
         */
        toggle(); 
    });
});

此外,如果您不重复使用您的功能,您可以随时直接在点击功能中调用更改 -

$('body').on('click', '#toggle', function() {
    $("td[style='color:Red; height:50px']").toggle(); 
});