/ / चयनकर्ता पर कई शर्तें jquery - jquery, jquery- चयनकर्ता

चयनकर्ता पर jquery एकाधिक स्थितियों - jquery, jquery-selectors

मेरे पास नीचे दिए गए jquery स्निपेट हैं जो किसी भी लिंक के लिए फ़िल्टर करते हैं जिसमें एक विशिष्ट एक्सटेंशन है जो नियमित अभिव्यक्ति में उल्लिखित है। इस स्थिति में, मैं जांचना चाहता हूं कि क्या href मान शुरू होता है http://www.xyz.com । वह कैसे किया जा सकता है?

$("a:regex(href,\.(zip|mp\d+|mpe*g|pdf|docx*|pptx*|xlsx*|jpe*g|png|gif|tiff*))$").live("click", function (e) {
// do some action..
});

रेगेक्स हेल्पर फ़ंक्शन नीचे है

jQuery.expr[":"].regex = function (elem, index, match) {
var matchParams = match[3].split(","),
validLabels = /^(data|css):/,
attr = {
method: matchParams[0].match(validLabels) ?
matchParams[0].split(":")[0] : "attr",
property: matchParams.shift().replace(validLabels, "")
},
regexFlags = "ig",
regex = new RegExp(matchParams.join("").replace(/^s+|s+$/g, ""), regexFlags);
return regex.test(jQuery(elem)[attr.method](attr.property));
}

उत्तर:

जवाब के लिए 2 № 1

यह मुझे ऐसा लगता है जैसे रेगेक्स में एक त्रुटि है (की स्थिति के साथ) $)। लेकिन यहाँ आप चयनकर्ताओं की श्रृंखला कैसे करेंगे:

$("a[href^=http://www.xyz.com]:regex(href,\.(zip|mp\d+|mpe*g|pdf|docx*|pptx*|xlsx*|jpe*g|png|gif|tiff*)$)").live("click", function (e) {
// do some action..
});