2010-11-11 60 views
1

我與任何一個圖像或依賴於像這樣的XML設置屬性的Flash影片的HTML填入一組<article>jQuery的 - 檢查XML屬性存在

<article image="" flash="flash/1.swf"></article>// this article has flash only 
<article image="image/1.jpg" flash=""></article>// this article has image only 

有一個「N 「數量」文章「取決於XML文件。每篇文章都有圖片或Flash影片。

後我加載使用.ajax()的XML,我使用.append()添加<img><object>文章。問題是,現在我在每篇文章中都有空標籤(img或object)。所有分配有圖像的文章都有一個空白的<object>標籤,反之亦然。

如何在追加前檢查XML?所以當一篇文章被分配一個圖像時,<object>標籤不會出現?

jQuery的是如下圖所示

$('#container').append('<article><img src="'+$image+'"/><object><param name="movie" value="'+$flash+'"></object></article>'); 
+0

我想在這裏接受的答案是一個更好的解決方案:jQuery的hasAttr檢查,看看是否有一個元素的屬性[複製](http://stackoverflow.com/questions/1318076/jquery- hasattr-checking-to-see-if-there-is-an-an-on-an-an-element) – Fabii 2015-10-08 16:19:33

回答

1

這爲我工作

var $flash = $(this).attr('flash'); 
if ($flash == null) { 
... 
} 
else { 
... 
} 
+0

這不會正確檢查屬性的存在。 – 2013-02-27 03:06:39

0

如果順序並不對你很重要,你應該先篩選閃光屬性, 和比對圖像屬性。 否則類似:

.append('<article>' + ($image != null) ? <img.. : <object..) + "</article>"; 
0

你應該先檢查是否該屬性將其分配給一個變量之前存在。

if($(this).attr('flash');){ 

    // this attribute exists 
    // you can also check if its null or not 

} else { 

    // this attribute does NOT exist 
}