jQuery:检测src=属性中的字符

jQuery:检测src=属性中的字符,jquery,Jquery,我一直在尝试在SO中查看其他帖子,但我只是无法对代码示例了如指掌。请注意,我仍在学习jQuery/JavaScript,非常感谢在这方面提供的任何帮助 假设我在网站的许多不同页面上都有这些图像: 第1页: 第2页: 第3页: 网站上有很多这样的图片,编辑标记是不可能的,我需要给它们添加一个class=“screenshot” 所以我最终会得到这样的结果: 以下是我尝试过的一些脚本,它们当然不起作用,但它可以让您了解我试图实现的目标: 试试#1: 试试#2: 在此方面的任何帮助都将不胜感激 谢谢

我一直在尝试在SO中查看其他帖子,但我只是无法对代码示例了如指掌。请注意,我仍在学习jQuery/JavaScript,非常感谢在这方面提供的任何帮助

假设我在网站的许多不同页面上都有这些图像:

第1页:

第2页:

第3页:

网站上有很多这样的图片,编辑标记是不可能的,我需要给它们添加一个
class=“screenshot”

所以我最终会得到这样的结果:

以下是我尝试过的一些脚本,它们当然不起作用,但它可以让您了解我试图实现的目标:

试试#1:

试试#2:

在此方面的任何帮助都将不胜感激


谢谢。

你很接近了,这应该可以:

$("img[src*='ss-']").addClass('screenshot');
第一次尝试失败的原因是,您正在测试
src
属性,使其完全
ss-
不包含该子字符串。第二次尝试无效,因为
:has()
如所述:

选择至少包含一个与元素匹配的元素 指定的选择器

还有一个原因是
[src^='ss-']
会查找以
ss-
开头的
src
元素,在您的例子中,它们以字符串
images/
开头,请尝试以下代码

 $('img').each(function(){
        var src = $(this).attr('src'); 
        if (src.substr(0,2) == "ss-"){
            $(this).addClass('screenshot');
        }
    });

您可以尝试此选择器:
$('img[src*=“images/ss-“]”)。addClass('screenshot')


它将从images目录中找到以
ss-
开头的所有文件。添加
图像/
作为选择器的一部分将避免匹配文件,例如

Dang,我太接近了!我打算在下一次尝试中使用
*
:)。这很好用。我之所以选择你的答案,是因为我解释了为什么我尝试的东西不起作用,加上jQuery文档中的信息(和链接)供参考。非常感谢。我希望我能选择两个答案作为答案。你的解决方案很有效。是的,我同意添加
images/
文件夹是有帮助的。给了你一票。非常感谢。我尝试了你的代码,但没有成功。谢谢你的帮助。
$("img[src*='ss-']").addClass('screenshot');
 $('img').each(function(){
        var src = $(this).attr('src'); 
        if (src.substr(0,2) == "ss-"){
            $(this).addClass('screenshot');
        }
    });