JQuery动态的内容
-
21-09-2019 - |
题
如果我有一个div标记内部的一个中继器,我想添加一个jquery影响到每一个这些div标记,你怎么会那样做?
<script type="text/javascript">
$(function() {
//run the currently selected effect
function runEffect() {
//most effect types need no options passed by default
var options = {};
//check if it's scale, transfer, or size - they need options
//if (selectedEffect == 'scale') { options = { percent: 0 }; }
//run the effect
$("#effect").effect('explode', options, 500, callback);
};
//callback function to bring a hidden box back
function callback() {
setTimeout(function() {
$("#effect:hidden").removeAttr('style').hide().fadeIn();
}, 1000);
};
//set effect from select menu value
$(document).ready(function() {
$("div.effect").click(function() {
runEffect();
return false;
});
});
});
</script>
<asp:Repeater ID="repItems" runat="server">
<ItemTemplate>
<div class="toggler">
<div id="effect" class="ui-widget-content ui-corner-all">
<h3 class="ui-widget-header ui-corner-all"><%#Eval("Tag") %></h3>
</div>
</div>
</ItemTemplate>
</asp:Repeater>
我试过的上述,但是只有第一部作品。我在做什么错了??
解决方案
尝试使用类似这些div:
<div id="effect" class="effect ui-widget-content ui-corner-all">
和在jquery的使用( “div.effect”)选择器。
我“认为”,采用多东西相同的ID可能导致问题......
其他提示
另一个想法要考虑的是把一个div标签周围的中继器的ID。中继器本身看起来非常简单,看你的jQuery的,它不会出现它的问题在哪中继器div标签被点击。
$(document).ready(function() {
$("#base").click(function() {
runEffect();
return false;
});
});
<div id="base">
<asp:Repeater ID="repItems" runat="server">
<ItemTemplate>
<div class="toggler">
<div id="effect" class="ui-widget-content ui-corner-all">
<h3 class="ui-widget-header ui-corner-all"><%#Eval("Tag") %></h3>
</div>
</div>
</ItemTemplate>
</asp:Repeater>
</div>
我认为你需要改变的是在附加了click事件“就绪”功能 - 使用了$(“div.effect”)作为选择,它看起来并不有效的给我。我建议使用$(“UI的小组件内容”)。基于类,而不是ID(如其他人注意到这应该是唯一的)这个选择。
如果你不想使用嵌套在转发这些div类,你可以使用部分ID匹配。尽管中继器会为每个DIV您的ID开始添加信息(以确保它是唯一的),该ID还将结束“效果”,或者你使用的任何名称。
您可以使用你的优势。在jQuery代码,在那里你在“效果” ID操作,你的代码从:
$("#effect")
这样:
$("[id$='effect']")
这将选择其ID END“效应”的所有元素,所以当中继重命名每个格至“repItems_ ctl001_效应”或你有什么的ID,jQuery的仍然会发现它。
还做笔记,朝着你的问题中列出您的jQuery代码结尾,您试图访问,而不是ID基于类的“效果”一个div。只是一个供参考。
不隶属于 StackOverflow