对不起,我仍然是新的使用jQuery,所以这可能是一个简单的问题。我试图设置一个带有表格的div标签,并带有一个隐藏div标签的按钮。我想出了如何让它为每个div标签使用id标签,但我需要的东西更像是一个可以处理无限按钮的类(至少有100个)。这是我试过的。我把javascript代码放在动态返回的代码中。按钮1工作,按钮5 6显示,但他们不工作。如何动态地隐藏动态创建的div标签?
如果你有一分钟我正确的方向,请看看。
感谢
code.html
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
<script type="text/javascript"> //<![CDATA[
$(document).ready(function() {
$("#remove0").click(function() {
var checkattrib = $(this).attr("src");
if (checkattrib != "ajax-loader.gif") {
$(this).attr("src", "ajax-loader.gif");
mytimer0 = setTimeout(delayme0,1000);
} else {
$(this).attr("src", "req/icons/icon_checknotok.gif");
clearTimeout(mytimer0);
}
return false;
});
function delayme0() {
$("#alert0").hide();
$.post("update.php", { mydata: "654321" },
function(data) {
document.getElementById("dynamiccode").innerHTML=data;
});
return false;
}
$("#remove1").click(function() {
var checkattrib = $(this).attr("src");
if (checkattrib != "req/icons/icon_waitani.gif") {
$(this).attr("src", "req/icons/icon_waitani.gif");
mytimer1 = setTimeout(delayme1,1000);
} else {
$(this).attr("src", "req/icons/icon_checknotok.gif");
clearTimeout(mytimer1);
}
return false;
});
function delayme1() {
$("#alert1").hide("clip", 1000);
$.post("update.php", { mydata: "445566" });
return false;
}
});
//]]>
</script>
</head>
<body>
<div id='alert0'>
<table><tr><td>
Button 1: <input type="image" title="Remove Alert" src="req/icons/icon_checknotok.gif" value="" id="remove0" />
</td></tr></table>
</div>
<div id='alert1'>
<table><tr><td>
Button 2: <input type="image" title="Remove Alert" src="req/icons/icon_checknotok.gif" value="" id="remove1" />
</td></tr></table>
</div>
</form>
<div id='dynamiccode'></div>
<br />
update.php
// read data from database with id tag from ajax
// return new data
print <<<END
<script type="text/javascript"> //<![CDATA[
$("#removealert1).click(function() {
var checkattrib = $(this).attr("src");
if (checkattrib != "ajax-loader.gif") {
$(this).attr("src", "ajax-loader.gif");
delaydyn1 = setTimeout(delaydyn,1000);
} else {
$(this).attr("src", "req/icons/icon_checknotok.gif");
clearTimeout(delaydyn1);
}
return false;
});
function delaydyn() {
$("#alerttable").hide();
$.post("update.php", { mydata: "1001010" });
return false;
}
});
//]]>
</script>
<div id='alerttable'>
<table><tr><td>
Button 5: <input type="image" title="Remove Alert" src="req/icons/icon_checknotok.gif" value="" id="removealert1 />
</td></tr></table>
</div>
<script type="text/javascript"> //<![CDATA[
$("#removealert2").click(function() {
var checkattrib = $(this).attr("src");
if (checkattrib != "ajax-loader.gif") {
$(this).attr("src", "ajax-loader.gif");
delaydyn2 = setTimeout(delaydyn2,1000);
} else {
$(this).attr("src", "req/icons/icon_checknotok.gif");
clearTimeout(delaydyn2);
}
return false;
});
function delaydyn2() {
$("#alerttable2").hide();
$.post("update.php", { mydata: "1001010" });
return false;
}
});
//]]>
</script>
<div id='alerttable'>
<table><tr><td>
Button 6: <input type="image" title="Remove Alert" src="req/icons/icon_checknotok.gif" value="" id="removealert2" />
</td></tr></table>
</div>
END;
说实话......这段代码对于一个不在你的思维过程中的局外人是相当密集的。你能把它只配置到必要的部分,并更好地解释你的意图吗? – clifgriffin 2011-02-16 20:01:36
我同意克利夫 - 很难提供具体的建议。但是,有很多工具可供您选择正确的元素,包括类名,* this *和父/子函数。所以如果你的div中有一个按钮应该隐藏div,你可以说$(this).parent()。hide()为例。 – Mayo 2011-02-16 20:05:11
hehehe ...我真的试图缩小它。我猜这有点复杂。这就是为什么我想我会发布一切,你可以复制到一个文本文件来测试。 – Jared 2011-02-16 20:07:02