这里总有一点空白。 希望你能帮忙。
当属性'href不以#overlay'开头时,我如何将此参数更改为...
if(this.getTrigger().attr("href")){
// stuff in here
}
谢谢你们精彩的人们。 凯文
答案 0 :(得分:8)
if (this.getTrigger().attr("href").slice(0, 8) != "#overlay") {
}
或indexOf
:
if (this.getTrigger().attr("href").indexOf("#overlay") != 0) {
}
或正则表达式test
方法:
if (!/^#overlay/.test(this.getTrigger().attr("href"))) {
}
答案 1 :(得分:2)
如果你想使用jQuery选择器:
if(this.getTrigger().is('a:not([href^="#overlay]")')) {
// stuff in here
}
编辑:在您已经只有一个项目且想要检查其href
值的情况下,选择器解决方案的表现比仅仅将属性切片与{{ 1}}正如其他答案所示。我刚发布了我的解决方案,表明有不止一种方法可以做到这一点。
答案 2 :(得分:1)
你可以这样检查
if(this.getTrigger().attr("href").indexOf('#overlay') != 0) {
}
答案 3 :(得分:1)
使用indexOf()
:
<a id="myLink" href="http://company.com/?action=someAction">someAction</a>
href = $("#myLink").attr('href');
if(href.toLowerCase().indexOf('someaction') >= 0) {
alert("someAction was found on href");
}
答案 4 :(得分:0)
使用match(RegEx)
测试href是否以#overlay
开头,然后否定它:
if (!this.getTrigger().attr("href").match(/^#overlay/)) {
// stuff in here
}
答案 5 :(得分:0)
试试这个
String.prototype.startsWith = function(str){
return (this.indexOf(str) === 0);
}
if(!this.getTrigger().attr("href").startsWith("#overlay")){
// stuff in here
}
或
var check = "#overlay";
if(!this.getTrigger().attr("href").substring(0, check.length) === check){
// stuff in here
}