爲什麼我不能得到這個工作?jQuery:如果這個HREF包含
$("a").each(function() {
if ($(this[href$="?"]).length()) {
alert("Contains questionmark");
}
});
ps .:這只是一個簡化的例子,使您更容易獲得概述。
爲什麼我不能得到這個工作?jQuery:如果這個HREF包含
$("a").each(function() {
if ($(this[href$="?"]).length()) {
alert("Contains questionmark");
}
});
ps .:這只是一個簡化的例子,使您更容易獲得概述。
你可以直接選擇感興趣的元素。
$('a[href*="?"]').each(function() {
alert('Contains question mark');
});
http://jsfiddle.net/mattball/TzUN3/
請注意,您正在使用的attribute-ends-with
selector,上面的代碼使用attribute-contains
selector,這是它聽起來像你真正瞄準。
Ohhh ...謝謝...... :-) – 2011-06-16 15:56:06
@Matt - 請注意,在當前版本的jQuery中,要匹配的字符串需要引號。 – Ender 2011-06-16 15:59:26
@Ender根據API文檔,你是對的。在實踐中,報價並不總是必要的,但正如你所說,在這裏它們是必要的。 – 2011-06-16 16:05:13
試試這個:
$("a").each(function() {
if ($('[href$="?"]', this).length()) {
alert("Contains questionmark");
}
});
這是行不通的,因爲它告訴jQuery在「.each()」上下文中尋找''標籤,它是''的*後代。 – Pointy 2011-06-16 15:48:59
更正。接得好。 – 2011-06-16 15:49:39
它不起作用,因爲它的語法荒謬的。你無法像JavaScript那樣做。
你可以,但是,使用jQuery:
if ($(this).is('[href$=?]'))
你也可以看的 「href」 值:
if (/\?$/.test(this.href))
以上都不給我提醒,儘管它裏面有一個問號的鏈接... – 2011-06-16 15:53:11
[對我來說很好用](http://jsfiddle.net/WtXq8/) – Pointy 2011-06-16 15:56:37
使用本
$("a").each(function() {
var href=$(this).prop('href');
if (href.indexOf('?') > -1) {
alert("Contains questionmark");
}
});
$("a").each(function() {
if (this.href.indexOf('?') != -1) {
alert("Contains questionmark");
}
});
$(「A」)的每個(函數(){ 控制檯.debug($(this [href $ =「?」]); if( $(this [href $ =「?」])。length()){ alert(「Contains questionmark」); } }); – MLS 2011-06-16 15:47:39