我希望能够检查容器div中是否有子项,其中包含特定值的属性以及存在多少个实例.
例如,如果我有以下HTML:
<div class='container'>
<div class='child' myattr='myattrvalue1'>DIV CONTENTS</div>
<div class='child' myattr='myattrvalue2'>DIV CONTENTS</div>
<div class='child' myattr='myattrvalue3'>DIV CONTENTS</div>
<div class='child' myattr='myattrvalue3'>DIV CONTENTS</div>
<div class='child' myattr='myattrvalue3'>DIV CONTENTS</div>
<div class='child' myattr='myattrvalue4'>DIV CONTENTS</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我想要一个jquery行,如果$(".container")中任何带有"child"类的div具有atat为"myattr"且值为"myattrvalue3"的话.我还希望能够确定这样一个孩子有多少个实例,在这个例子中,myattr ='myattrvalue3'就是3个孩子的实例.
我有一个对象列表,我通过对话框更新.当用户单击刷新按钮时,它会重新加载更新的列表并将相同的表附加到列表中.但是,当我重新加载更新的列表时,jQuery UI的可拖动功能停止工作.我已经尝试在ajax成功处理程序中插入$('draggable').draggable行,并且在ajax调用发生之后,并且都没有工作.我还有一个用于可拖动容器的jquyer实时事件处理程序,这些处理程序在刷新列表时不起作用.
下面是我最初加载列表的代码,可拖动容器的实时函数以及用户单击刷新按钮时的函数.在我的下面的代码中,我还尝试将ui-draggable类添加到对象中,但这不起作用:
$.ajax({
async: false,
type: 'POST',
url: 'collection.php',
success: function(data) {
$("#collection").append(data);
}
});
$("#refresh_collection").click(function(){
$("#collection").html("");
$.ajax({
async: false,
type: 'POST',
url: 'collection.php',
success: function(data) {
$("#collection").append(data);
$('.draggable_container:not(.ui-draggable)').live("mouseover", function(){
$(".draggable_container").addClass("ui-draggable");
});
}
});
});
$('.draggable_container').live('mouseover',function(){
$(this).draggable({
cursor: "move",
cursorAt: { top: -5, left: -5 },
stop: function(){}
})
});
Run Code Online (Sandbox Code Playgroud)
我能够使用on函数而不是实时使draggables工作,但现在我意识到在我打开jquery UI对话框后关闭它然后单击刷新按钮它们不起作用.如果我只是单击刷新按钮而不先打开对话框,那么一切正常.但是,如果我打开对话框,关闭它然后单击刷新按钮,则拖动功能会关闭,但如果我只是打开对话框并关闭它而不按下刷新按钮,它就会起作用.有想法该怎么解决这个吗?当我关闭对话框听起来像解决方案时,会破坏拖拽然后重新初始化吗?
我最终希望在对话框关闭时发生ajax调用,但此代码仍然无效.任何帮助都会有很大的帮助.
var $dialog = $("#upload_dialog").dialog({
autoOpen: false,
height: 375,
width: 500,
modal: false,
open: function() {
$("body").draggable("destroy");
$tab_title_input.focus();
},
close: function() {
$.ajax({
async: false,
type: 'POST', …Run Code Online (Sandbox Code Playgroud) 我有一个对象列表,该对象列表分为两个容器,我想通过jQuery进行排序,但是我不知道如何使一个对象能够添加到其他容器列表中,反之亦然。因此,我希望能够将一个对象从一个容器拖到另一个容器中,并使代码将其视为一个列表。
这是我的代码如下:
<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>Untitled 1</title>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery-ui/js/jquery-ui-1.8.22.custom.min.js"</script>
<link type="text/css" href="jquery-ui/css/smoothness/jquery-ui-1.8.22.custom.css" rel="stylesheet" />
<script type="text/javascript">
$(document).ready(function(){
$("#nowplaying_list, #nowplaying_history").sortable().disableSelection();
});
</script>
</head>
<body>
<div id="left_content" class="ui-droppable">
<div id="nowplaying_container" style="display:block;">
<div id="nowplaying_wrapper">
<div id="nowplaying_history" class="ui-sortable">
<div class="object_container ui-draggable" >OBJECT 1</div>
<div class="object_container ui-draggable" >OBJECT 2</div>
<div class="object_container ui-draggable" >OBJECT 3</div>
</div>
<div id="nowplaying_list" class="ui-sortable">
<div class="object_container ui-draggable" >OBJECT 4</div>
<div class="object_container ui-draggable" >OBJECT 5</div>
<div class="object_container ui-draggable" >OBJECT 6</div>
</div>
</div>
</div> …Run Code Online (Sandbox Code Playgroud)