【发布时间】:2010-11-09 17:48:15
【问题描述】:
我正在尝试替换下拉框中的值。替换工作正常(在这个优秀社区的帮助下),但之后幻灯片功能停止工作。我找不到任何错误,所以我问这是否与 jQuery 和 javaScript 的工作方式有关?加载时元素是否“映射”到 DOM,如果是的话;这是否意味着用另一个 div 替换一个 div 会导致 jQuery 失去对 div 的跟踪?
我使用这段代码来检查一个 div 是否被点击:
$(document).ready(function () {
$('.button_slide').click(function () {
var num = $(this).attr('rel');
$('div.content_slide:not(.' + num + ') ').slideUp(400);
$('div.' + num).slideToggle(400);
});
return false;
});
这是 div:
<div class="button_slide" rel="slide1">Alts:</div>
<div class="content_slide slide1">
<input id="Button1" rel="slide1" class="button_vertical click_button" type="button" value="2" size="10px" />
<input id="Button2" rel="slide1" class="button_vertical click_button" type="button" value="3" />
</div>
这是下拉框的jQuery:
$(function () {
$('.click_button').click(function () {
var num = $(this).attr('rel');
$('.button_slide[rel="' + num + '"]').replaceWith("<div class='button_slide' rel='" + num + "' >" + $(this).val() + "</div>");
$('div.content_slide').slideUp(600);
});
});
我在这个问题上大发雷霆,而 jQuery 并不是我的强项…… 你会如何解决这个问题?
【问题讨论】:
-
查看演示。 Click 如何在添加的 div 上工作 api.jquery.com/live