JQuery的新手,不知道如何使用局部变量(使用greasemonkey)

时间:2016-06-30 13:12:39

标签: javascript jquery

我正在尝试使用Greasemonkey从按钮更改点击事件, 在尝试的同时,我遇到了多个问题并在线查找了一些内容,但无法找到我理解或为我工作的任何解决方案。

我要尝试的内容: 我试图改变一个网站,当按下按钮时它会添加2个元素(我称之为变量"但是"), 但我想删除它添加的第二个元素,所以我覆盖了click事件,所以它确实添加了2个元素,然后执行删除第二个元素的函数。

所以bc iam new我不太确定如何从jquery获取内容并将其设置为本地javascript变量。

问题代码:

var but = $("#information");
but = but.children()[1];
but = but.find( "div" );
but = but.children[0];
but = but.find("a");
but = but.children[0];

$(but).click(function()
{
    if(condition == 'true')
    {
        $.when(initialize()).then(deletehtml());
    }
});
function deletehtml()
{
    $($( "#content_box" ).children()[1]).remove();
}

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

我不知道这是否是你的整个问题,但问题的一部分很可能是使用[#]。这会破坏jQuery对象中的DOM元素,之后你不能使用jQuery方法,除非你重新包装它$()。相反,如果你想继续使用jQuery方法并避免重新包装,请使用eq(#)来获取元素。

var $but = $("#information").children().eq(1);
$but = $but.find( "div" ).first();
$but = $but.find("a").first();

$but.on('click', function() {
    if (condition == 'true') {
        $.when(initialize()).then(deletehtml());
    }
});

function deletehtml() {
    $( "#content_box" ).children().eq(1).remove();
}