Jquery 查找响应是否包含元素
Jquery Find if response contains element
如何找到响应是否包含元素形式
$.ajax({
url : $(this).attr('action'),
type : 'POST',
success : function(response){
if($(response).find('form').length)
{
alert("hii");
}
}
});
形式可以是响应的最顶层元素,也可以是中间的某个元素
$.ajax({
url : $(this).attr('action'),
type : 'POST',
dataType: 'html', // you should set it
// if you response send html only
success : function(response){
if($(response).filter('form').length)
{
alert("hii");
}
}
});
根据更新:
....
dataType: 'html',
success : function(response){
var container = $('<div/>').append(response);
if($(container).find('form').length)
{
alert("hii");
}
}
$.ajax({
url : $(this).attr('action'),
type : 'POST',
success : function(response){
var hasForm = $("<div></div>").append(response).find("form").length > 0;
if(hasForm)
{
alert("hi");
}
}
});
数据类型:"html"强制jQuery将响应视为简单的html。我正在使用"has"函数,它将匹配的元素集减少到仅包含其中某处表单的元素集。
$.ajax({
url : $(this).attr('action'),
type : 'POST',
dataType : 'HTML',
success : function(response){
$(response).has('form').doMoreWorkHere();
}
});
或者,你可以写得更短
$.post($(this).attr('action'), {}
function(response){
$(response).has('form').doMoreWorkHere();
}, 'html');
"响应"从何而来?这是什么格式?
我用 json 发送返回的变量:
success: function(msg){
var obj = jQuery.parseJSON( msg );
alert( obj.VARNAMEHERE );
}
或者,您可以只检查整个响应,而不是特定变量。这将使您了解如何遍历结果以找到所需的内容。
相关文章:
- 带有填充属性的SVG矩形显示在包含元素的上方插入框阴影
- WebGL错误-错误:WebGL:bindBuffer:buffer已包含元素数据
- 如何在 jQuery 的 hover() 事件的热点中包含元素的边距
- jQuery将事件处理程序绑定到具有包含元素的多个元素
- 如何从包含
元素的 javascript 变量中获取单元格数据 - Jquery 查找响应是否包含元素
- 如何创建包含
元素值的数组 - Javascript Garbarge 集合,其中包含包含C++元素的对象
- Javascript 过程,用于提高元素的 z 索引,直到它高于其所有包含元素的 1
- 包含元素的数组的长度 = 0
- 如果查询搜索包含元素,如何返回布尔值
- 将选中绑定与包含元素上的单击绑定相结合
- 如何使用Javascript隐藏和显示鼠标悬停在包含元素上的元素
- 我如何通过id检查我的DOM是否已经包含元素
- CSS使图像具有与包含元素相同的高度
- 在一个溢出:隐藏的包含元素上改变焦点,移动它,但造成不明显的差异
- 使用jQuery或JavaScript访问表单中的元素(或其他包含元素)
- jQuery/Javascript:由AJAX请求拉入的HTML不包含