我想知道是否有一种方法可以替换div.number-plate
中的纯文本,并为每个字符(逐个)显示图像?我使用JQuery如何使用Jquery替换DIV中包含的字符,并用图像替换?
任何帮助是极大的赞赏,感谢
我想知道是否有一种方法可以替换div.number-plate
中的纯文本,并为每个字符(逐个)显示图像?我使用JQuery如何使用Jquery替换DIV中包含的字符,并用图像替换?
任何帮助是极大的赞赏,感谢
由于@AndyE规定这里的代码是高尔夫手套,你可以用正则表达式来替换所有的图像,如下:
$("div.number-plate").html(function(i, h) {
return h.replace(/(.)/g, '<img src="images/char-$1.gif" />');
});
而且,它似乎你不想赎金笔记发电机,但我没有! so here it is。示例结果:
http://www.joshuarey.com/ransom/w/2.gifhttp://www.joshuarey.com/ransom/e/3.gif http://www.joshuarey.com/ransom/h/8.gifhttp://www.joshuarey.com/ransom/a/13.gifhttp://www.joshuarey.com/ransom/v/5.gifhttp://www.joshuarey.com/ransom/e/15.gif http://www.joshuarey.com/ransom/y/1.gifhttp://www.joshuarey.com/ransom/o/8.gifhttp://www.joshuarey.com/ransom/u/5.gifhttp://www.joshuarey.com/ransom/r/3.gifhttp://www.joshuarey.com/ransom/d/4.gifhttp://www.joshuarey.com/ransom/o/4.gifhttp://www.joshuarey.com/ransom/g/2.gif
哈哈,干得好,+1 :-) – 2010-11-19 11:55:51
+1超越!顺便说一下,我什么时候可以让我的狗回来? :P – alex 2010-11-19 12:45:38
+1 - 非常有趣。虽然我更担心沙鼠。 – GenericTypeTea 2010-11-19 12:49:44
var charMap = {
'A': 'A.gif', 'B': 'B.gif' // ... etc.
}
$("div.number-plate").each(function() {
var text = $(this).text(); // Assuming no HTML content
var out = [];
for (var i = 0, len = text.length; i < len; i++) {
var img= charMap[text.charAt(i)];
if (img) out.push("<img src='" + img + "'>");
}
$(this).html(out.join(""));
});
(未经测试)
var div = $("div.number-plate"),
txt = div.text(),
pre = '<img src="images/char-',
suf = '.gif">',
result = pre + txt.split("").join(suf+pre) + suf;
div.html(result);
样品号牌:
V332LAE
萨mple结果:
这是一个简短的,简单的解决方案中,你也会,如果他们在你的文本存在需要标点字符图像。既然你在使用号码牌,那不应该是个问题。
感谢@Nick我介绍给http://dummyimage.com,我已经设置了我自己的一个演示:
这太棒了! +1。虽然什么可以使这*真的很酷也是将char设置为每个图像的alt属性:) – alex 2010-11-19 12:47:00
事情是这样的:
$(document).ready(function() {
var str = $('div.number-plate').html();
var output = '';
for (i = 0; i < str.length; i++) {
var char = str.substr(i, 1);
output = output + '<img src="/images/characters/' + char + '.gif" />';
}
$('div.number-plate').html(output);
});
如果您需要转换每个字符(或过滤掉非alnums)的$.map()
可用于:
$('.number-plate').html(function(i, o) {
var imgs = $.map(o.split(''), function(c) {
return '<img src="images/' + c.toLowerCase() + '.png" />';
});
return imgs.join('');
});
可以通过返回0来过滤字符在映射函数中。
( - with dummy images(没有理由使用$.map()
,虽然))
你建立一个勒索发电机? – 2010-11-19 11:26:19
嗨尼克,基本上我有一个汽车车牌号列表作为纯文本,每个DIV内。我试图用图像替换DIV中的每个字符。例如字符'A'与自身的图像,因此'A.gif'。请让我知道如果你需要我进一步澄清,谢谢 – Nasir 2010-11-19 11:33:41
@Nasir - 我觉得你只是困惑,*实际上*需要一个赎金音符发生器,所以我让你一个:http://www.jsfiddle.net/ nick_craver/9qwFY/11/ – 2010-11-19 12:21:44