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