-6ren">
gpt4 book ai didi

javascript - jQuery - 响应中的 Javascript

转载 作者:行者123 更新时间:2023-11-30 18:37:58 24 4
gpt4 key购买 nike

我在使用 jQuery 时遇到了一些问题

HTML

<div class="dnone team_data" id="team_<?php echo $allnum; ?>" style="padding: 10px; margin: 2px 0 2px 0; border: 1px solid <?php echo $site_color; ?>;">
<div class="ajax-json-loading"></div>
<div class="ajax-json-response"></div>
<table cellspacing="5">
<tr>
<td valign="top" style="width: 100px;">
<b>Csapat vezető:</b>
</td>
<td class="team-leader-area">
<input type="hidden" class="team-leader-hidden-id" value="<?php echo $value['leader']; ?>" />
<div class="team-leader-id"><a href="http://lanseries.hu/index.php?oldal=profile&p_id=<?php echo $value['leader']; ?>" target="_blank"><?php echo $value['leader']; ?></a></div>
<div class="team-leader-modify"><a href="javascript:void(0);">Módosít</a></div>
</td>
</tr>
<tr>
<td valign="top" style="width: 100px;">
<b>Befizető címe:</b>
</td>
<td>
<?php echo $value['p_address']; ?>
</td>
</tr>
</table></div>

还有 jQuery

$(document).ready(function() {
$('.team-leader-modify a').click(function(){
var action = $(this).text();
if (action == 'Módosít') { //Option 1
var value = $(this).parents('.team_data').find('.team-leader-hidden-id').val();
$(this).parents('.team_data').find('.team-leader-id').html('<input type="text" name="leader-id" class="leader-id" value="'+value+'" /><input type="button" name="team-leader-mod-button" class="team-leader-mod-button" value="módosít" />');
$(this).parents('.team_data').find('.team-leader-modify').html('<a href="javascript:void(0)">Mégse</a>');
}
if (action == 'Mégse') { //Option 2
var value = $(this).parents('.team_data').find('.team-leader-hidden-id').val();
$(this).parents('.team_data').find('.team-leader-id').html('<a href="http://lanseries.hu/index.php?oldal=profile&p_id='+value+'" target="_blank">'+value+'</a>');
$(this).parents('.team_data').find('.team-leader-modify').html('<a href="javascript:void(0)">Módosít</a>');
}
}); });

在加载 DOM 后单击 a 后,它会正确显示 option 1,但是在单击 中的 a 之后选项 1 它不会显示 选项 2

你能帮帮我吗?

感谢:马塞尔

最佳答案

如果我没理解错的话,问题是您要将新元素插入到 DOM 中,因此 click 事件处理程序不会附加到它。您可以使用 jQuery 的 livedelegate 方法将事件处理程序附加到现有元素以及将来添加的元素:

$('.team-leader-modify a').live("click", function(){
//Your function
});

或者,使用delegate:

$('.team-leader-modify').delegate("a", "click", function(){
//Your function
});

我建议使用 delegate,它提供更好的性能,因为 jQuery 不必监视整个 DOM 的新元素,只需监视选定的元素。

关于javascript - jQuery - 响应中的 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7706830/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com