jQuery - проверить, существует ли атрибут XML - PullRequest
1 голос
/ 11 ноября 2010

Я заполняю набор <article> в HTML либо изображениями, либо флэш-фильмом, в зависимости от атрибутов, установленных в 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. В каждой статье есть изображение или флэш-ролик.

После того, как я загружаю XML, используя .ajax(), я использую .append(), чтобы добавить <img> и <object> к статье. Проблема в том, что теперь у меня есть пустые теги (img или object) в каждой статье. Все статьи с изображениями имеют пустой тег <object> внутри и наоборот.

Как я могу проверить XML перед добавлением? Таким образом, когда статье присваивается изображение, тег <object> не появляется?

jQuery как показано ниже

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

Ответы [ 3 ]

1 голос
/ 14 ноября 2010

Это сработало для меня

var $flash = $(this).attr('flash');
if ($flash == null) {
...
}
else {
...
}
0 голосов
/ 27 февраля 2013

Вы должны сначала проверить, существует ли атрибут, прежде чем присвоить его переменной.

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

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

} else {

    // this attribute does NOT exist
}
0 голосов
/ 11 ноября 2010

Если порядок не важен для вас, вы должны сначала отфильтровать атрибуты flash и чем для атрибутов изображения. В противном случае что-то вроде:

.append('<article>' + ($image != null) ? <img.. : <object..) + "</article>";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...