以下のjQueryがあり、入力値(配列内)が.adiv(配列内)のhtmlと一致すると、trueというアラートが表示されますが、これは2つの配列のすべての値が正確に一致する場合にのみ発生します。私がやろうとしているのは、temp 配列のすべての値が divar 配列のいずれかの値と一致して true を返す場合です。だから例えば。.adiv html がthis is a div
あり、入力値がthis div
trueをis div
返す場合は true などを返しますが、入力値がthisisadiv
or の場合、たとえばisa div
ORはrandom words
false を返します。また、一時配列にdivar配列にない単語が含まれている場合は、false を返す必要があります。
http://jsfiddle.net/7Q4CJ/
jQuery.fn.compare = function(t) {
if (this.length != t.length) { return false; }
var a = this.sort(),
b = t.sort();
for (var i = 0; t[i]; i++) {
if (a[i] !== b[i]) {
return false;
}
}
return true;
};
$("button").click(function() {
var inputstr = $(".searchval").val().replace(/ /g, ",");
var temp = new Array();
temp = inputstr.split(",");
var dival = $(".adiv").html().replace(/ /g, ",");
var divar = new Array();
divar = dival.split(",");
alert($(temp).compare(divar));
});
</p>