我有自定义属性的输入字段。我想检查具有自定义属性的输入字段是否具有特定值,然后警报匹配,否则不匹配。
(function ($) {
$(".my_class").click(function () {
var custom_attr = $(this).attr('custom_attr');
$("input").each(function () {
var condation = $(this).attr('condation');
if (condation == custom_attr) {
alert('match');
} else {
alert('not match');
}
});
});
})(jQuery);
答案 0 :(得分:2)
我认为您可以尝试像
这样的正则表达基础测试
if (!RegExp.escape) {
RegExp.escape = function(value) {
return value.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&")
};
}
(function($) {
$(".my_class").click(function() {
var custom_attr = $(this).attr('custom_attr');
var regex = new RegExp(custom_attr.split(/\s+/).map(function(value) {
return '(\\b' + RegExp.escape(value) + '\\b)'
}).join('|'));
$('input').each(function() {
var condation = $(this).attr('condation');
if (regex.test(condation)) {
alert('match');
} else {
alert('not match');
}
});
});
})(jQuery);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div>
<button type="button" name="abc" class="my_class" custom_attr="field1 field2">Match</button>
</div>
<div>
<input name="def" condation="field1 user_defined" />
<input name="jkl" condation="field2 user_defined" />
<input name="jkl" condation="field13 user_defined" />
</div>