jQuery选择器比较它们之间的元素属性(和/或属性)
事情从我之前的问题开始:使用jQuery是否可以比较选择器中的两个属性? 我的意思是:
$('element[atribute1!=attribute2]')
或者,在一个实际例子中:
$('input[name!=id]')
在我的情况下,我需要它来获取用于编辑内容的html表单中没有更改的输入字段数,我试图让这段代码工作:
if($('input[DefaultValue!=input.value]').lenght==0){...}
怎么样? 它应该返回已更改字段的数量(如果我得到0,我将停止表单提交,显示警报消息并返回而不更新)
谢谢您帮忙。
不。如果你查看jQuery的文档,你会发现没有这样的选择器。
defaultValue
也是属性,而不是属性。
你可以这样做:
var changed = $('input').filter(function() { return this.value !== this.defaultValue; });
你可以使用jQuery filter()函数,如下所示:
var different = $('input').filter(function() { return $(this).attr('data-default-value') != $(this).val(); });
然后,您可以测试different.length > 0
。
这是一个完整的工作示例: http : //jsfiddle.net/us47d/