我正在尝试使用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();
}
感谢您的帮助!
答案 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();
}