我有一个脚本可以复制图像的ALT文本中的文本并制作一个标题框,然后输入文字。
var alt = $("#hoejre p span img").attr("alt");
$('#hoejre p span img').after('<span></span>');
$('#hoejre p span span').html('<strong>' + alt.replace('-', '</strong> <em>') + '</em>');
当有图像时,这很有效。但是当没有任何图像时,脚本在IE7中失败。
如何使用IF句子包装VAR。
答案 0 :(得分:3)
为什么在查看长度属性时调用方法?
if ($imgs.length) {
... /* one or more images exist */
}
答案 1 :(得分:1)
您可以使用 .size()
检查 fcalderan的answer ,建议改用.length
属性。
它有相同的结果,但可能更快。
例如,您可以执行以下操作:
var $imgs = $("#hoejre p span img");
if( $imgs.size() > 0 ) {
var alt = $imgs.attr("alt");
$('<span></span>').html('<strong>' + alt.replace('-', '</strong> <em>') + '</em>')
.insertAfter( $imgs );
}
答案 2 :(得分:1)
size()方法:
if ($("#hoejre p span img").size() > 0)
{
var alt = $("#hoejre p span img").attr("alt");
$('#hoejre p span img').after('<span></span>');
$('#hoejre p span span').html('<strong>' + alt.replace('-', '</strong> <em>') + '</em>');
}
答案 3 :(得分:1)
jQuery选择器返回一个数组。
您可以检查它是否包含具有本机JS Array.length属性的任何元素。根据{{1}}确定长度是否> 0。