jQuery:如何检查元素属性是否包含字符串的一部分?

标签 jquery

例如,我想检查链接是否具有特定域,或者末尾是否已附加参数。

有没有办法做像〜=也许这样的正则表达式?

目前,我有

    alert(ref);
        $j("a[href*='mysite']").each(function(i){
            alert("hello");
            $j(this).attr('href',$j(this).attr('href') + "?ref=" + $j.cookie.get("tb_ref"));
        }); 

但是选择器不起作用。 (我从未看到 Hello 警报,但我播种了 alert ref 警报。

我的a标签

<a href="http://domain.mysite.com/">yeah, link</a>
<a href="http://google.com/">g, link</a>

最佳答案

使用substring/contains选择器:

$("选择器[name*='mystring']")

找到属性 name="somemystring"

如果您要查找以空格分隔的整个单词,请使用 whole word selector :

$("选择器[name~='mystring']")

发现属性名称=“some mystring is good”

编辑我从上面获取了您的代码并创建了一个 jsFiddle为了它。我看到一个“Hello”警报弹出窗口。 (我没有对 alert(ref) 发出警报,因为我不知道 ref 是什么。)因此选择器适用于您的 href 属性。您正在使用与正常情况不同的 jQuery(正常 = $,您正在使用 $j)。您是否正确注册了该别名?如果您使用 $jQuery 来代替,您的代码可以工作吗?

关于jQuery:如何检查元素属性是否包含字符串的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3611295/

相关文章:

javascript - 将文本换行到下拉的下一行

javascript - 尝试登录到express和node.js内置的身份验证系统时出现404错误(文件未找到)

jquery-ui - 通过ajax方法在jquery ui选项卡内容中加载谷歌注释图表

jquery - 用于输入字段验证的按键方法

javascript - 将所有请求的元素设为此类名称

javascript - CodeIgniter 和 JConfirmAction

jquery keypress() 事件获取文本

javascript/jquery 向 url 添加尾部斜杠(如果不存在)

javascript - 如何为助手设置默认(全局)选项?

javascript - 使用jquery过滤后使图像正确隐藏