jQuery如果对象存在

我有一个脚本,可以从图像的ALT文本中复制文本并制作一个标题框,然后输入文本。

var alt = $("#hoejre p span img").attr("alt"); $('#hoejre p span img').after(''); $('#hoejre p span span').html('' + alt.replace('-', ' ') + ''); 

当有图像时,这很有效。 但是当没有任何图像时,脚本在IE7中失败。

如何用VAR句子包装VAR。

为什么在你只看长度属性时调用一个方法?

 if ($imgs.length) { ... /* one or more images exist */ } 

size()方法:

 if ($("#hoejre p span img").size() > 0) { var alt = $("#hoejre p span img").attr("alt"); $('#hoejre p span img').after(''); $('#hoejre p span span').html('' + alt.replace('-', ' ') + ''); } 

jQuery选择器返回一个数组。

您可以检查它是否包含具有本机JS Array.length属性的任何元素。 根据长度是否> 0来确定if

您可以检查jQuery选择器返回的对象.size()

检查fcalderan的答案 ,建议使用.length属性。
它具有相同的结果,但可能更快。

例如,您可以执行以下操作:

 var $imgs = $("#hoejre p span img"); if( $imgs.size() > 0 ) { var alt = $imgs.attr("alt"); $('').html('' + alt.replace('-', ' ') + '') .insertAfter( $imgs ); }