jquery как пропустить элемент "a", если его значение массива равно нулю - PullRequest
0 голосов
/ 14 марта 2020

Не могли бы вы помочь, как добиться того, чтобы я не показывал "a", только если значение "a1links" равно нулю.

ie. Для второго значения в массиве "a1links"; я не хочу " Ahref "ссылка будет отображаться на моей html странице.

    var a1links = [ 
        '8li ', '',
'8li ', 'a1link4-',
'a1link5-', 'a1link6-',

...
<a data-name="'+ a1links[j] + imageName +'" href="">'+ a1links[j] + imageName + '</a><br>   

, но пропускаются только значения со значениями "null" или ", остальные должны продолжаться, как есть.

полная функция

$.each( images, function( j, imageName ) {           

$('<div class="card">                                                                                                                          <a data-name="'+ alinks[j] + imageName +'" href="www"><img data-name="'+ imageName +'" src="'+ pathPrefix + imageName +'-button-1'+'.jpg" alt="'+ imageName +'"></a>                                                                                                                                <div id="cardbodydiv">                                                                                                                            <h5 id="titlecard">'+ alinks[j] + imageName +'</h5>                                                                                                <p id="textcard">                                                                                                                                   <a data-name="'+ a1links[j] + imageName +'" href="">'+ a1links[j] + imageName + '</a><br>                                                           <a data-name="'+ a2links[j] + imageName +'" href="">'+ a2links[j] + imageName + '</a>                                                            </p>                                                                                                                                                 </div></div>').appendTo('#images');                    
                                });

большое спасибо за помощь.

------------------------- то, что я попробовал, ниже ------- ---------- это удаляет «a» для всех, если массив a1links полностью пустой ....

$("input[name='a1links[]']").each(function() {
    var value = $(this).val();
    if (value) {
        a1links.push(value);
    }
});
if (a1links.length === 0) {
  $(".test").hide();
    }

else {
  //send data
}

но мне требуется только это, если одно из значений на массив пуст. остальные значения массива должны быть прочитаны функцией и создать a1links

    $.each( images, function( j, imageName ) {           

$('<div class="card">                                                                                                                          <a data-name="'+ alinks[j] + imageName +'" href="www"><img data-name="'+ imageName +'" src="'+ pathPrefix + imageName +'-button-1'+'.jpg" alt="'+ imageName +'"></a>                                                                                                                                <div id="cardbodydiv">                                                                                                                            <h5 id="titlecard">'+ alinks[j] + imageName +'</h5>                                                                                                <p id="textcard">                                                                                                                                   <a id="a1links" class ="test" a data-name="'+ a1links[j] + imageName +'" href="">'+ a1links[j] + imageName + '</a><br>                                              <a data-name="'+ a2links[j] + imageName +'" href="">'+ a2links[j] + imageName + '</a>                                                            </p>                                                                                                                                                 </div></div>').appendTo('#images');                    
                                });

1 Ответ

0 голосов
/ 17 марта 2020

let a1links = [ 
        '8li ', '',
'8li ', 'a1link4-',
'a1link5-', 'a1link6-']

let fragment = document.createDocumentFragment();
a1links.forEach(link => {
 if(link) { // all truthy values
 		let a_tag = document.createElement("a")
		a_tag.href = link
		a_tag.innerText = `${link} | `
		fragment.appendChild(a_tag)
 }
})

document.body.appendChild(fragment)

Вот фрагмент из javascript для достижения того же

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