我有一些关于动态创建元素的问题。我正试图为我的站点创建一个页面,该页面将显示用户列表(该列表已从控制器传递到我的视图中)。对于每个用户,我创建了一个div持有者,在每个div中,我有两个h3标记,同时显示用户的ID和名称。每个用户div还包含一个按钮,该按钮允许隐藏或显示用户。
<div class="single-user" id="@user.Hidden.ToString()">
<h3>ID: @user.Id</h3>
<h3>Name: @user.Forename @user.Surname</h3>
<span><input type="submit" class="sub-btn" /></span>
</div>除了“name”和“id”属性之外,我还传递了一个“隐藏的bool”属性。它用于检查用户是否已被隐藏。我遇到的问题是,由于元素是动态创建的,它们都共享相同的类和id,因此我无法检查用户是否隐藏。我在网上查找并找到了一个可能的解决方案,但它仍然不起作用。以下是我的javascript代码。
<script type="text/javascript">
$('.single-user').on('click', '.sub-btn', function () {
if ($('.single-user').has('#True')) {
console.log("true");
}
else {
console.log("false");
}
});
</script>任何帮助都将不胜感激。
发布于 2013-10-29 18:31:04
<div class="single-user" data-visible="@user.Hidden.ToString()">
<h3>ID: @user.Id</h3>
<h3>Name: @user.Forename @user.Surname</h3>
<span><input type="submit" class="sub-btn" /></span>
</div>
<script type="text/javascript">
$(document).on('click', '.sub-btn', function () {
if ($(this).closest('.single-user').attr('data-visible')=="True") {
console.log("true");
}
else {
console.log("false");
}
});
</script>https://stackoverflow.com/questions/19666260
复制相似问题