jQuery如果数组值为空,如何跳过“ a”元素

问题描述 投票:0回答:1

仅在“ a1links”值为空时,如何才能不显示“ a”,请帮忙。

即用于“ a1links”数组中的第二个值;我不希望在我的html页面上显示“ ahref”链接。

    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');                    
                                });

非常感谢您的帮助。

-------------------------我尝试过的是在下面-----------------如果a1links数组完全为空,这将删除所有的“ a”。]

$("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');                    
                                });
jquery html dom
1个回答
0
投票

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中实现相同功能的代码段

© www.soinside.com 2019 - 2024. All rights reserved.