使用JQuery和正则表达式解析文件名
因此,我有几个链接:使用JQuery和正则表达式解析文件名,jquery,regex,parsing,hyperlink,filenames,Jquery,Regex,Parsing,Hyperlink,Filenames,因此,我有几个链接: <a href="#">2k01</a> <a href="#">3a01</a> <a href="#">5a01</a> etc... 等 单击链接时,我希望在标记之间显示一组与文本关联的图像。我有一个包含所有图像的图像/文件夹,图像名称的格式为“some text_2k01_some text”、“some text_3a01_some text”等。我只想在单击的链接中显示包含文本的图像。
<a href="#">2k01</a>
<a href="#">3a01</a>
<a href="#">5a01</a>
etc...
等
单击链接时,我希望在标记之间显示一组与文本关联的图像。我有一个包含所有图像的图像/文件夹,图像名称的格式为“some text_2k01_some text”、“some text_3a01_some text”等。我只想在单击的链接中显示包含文本的图像。我怀疑有一种使用JQuery和正则表达式的解决方案,但我一直没有找到。任何帮助都将不胜感激 不要为此使用正则表达式。您可以使用jQuery:
jQuery("a").click(function() {
var linkText = jQuery(this).text();
var filename = "sometext_" + linkText + "_sometext";
...
...code to display your images
...
});
我认为您可以在前面插入—作为
data-*
attribute—您想要获取的图像的名称,如下所示
<a href="#" data-image="folder/your-image-2k01.jpg">2k01</a>
<a href="#" data-image="folder/other-image-3a01.jpg">3a01</a>
<a href="#" data-image="folder/foobar-image-5a01.jpg">5a01</a>
因此js将是简单的
$(document).on('click', 'a[data-image]', function() {
var $this = $(this),
url = $this.data('image'),
img = $('<img src="'+ url +'" />');
$this.append(img);
})
$(文档)。在('click','a[data image]'上,函数(){
变量$this=$(this),
url=$this.data('image'),
img=$('');
$this.append(img);
})
而且您不会被文件名格式束缚得太强
$('a').on('click', function(){
$('img').hide();
$('img[src|="' + $(this).text() + '"]').show();
});
当您单击链接时,它将在图像源包含的页面上找到所有图像(这就是
=“code>所做的)链接中的任何文本并显示它们。还将首先隐藏所有图像,假设您只希望显示与单击的链接相关联的图像。所有图像的“某些文本”始终相同?不,它会更改,这只是用作示例,可能有之前和之后的任何内容