【问题标题】:jquery how to skip "a" element if its array value is nulljquery如果数组值为null,如何跳过“a”元素
【发布时间】:2020-03-14 12:04:47
【问题描述】:

能否请您帮助我如何实现仅当“a1links”值为空时才显示“a”。

ie.for "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】:

    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 中的 sn-p 来实现同样的效果

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-14
      • 1970-01-01
      • 2019-06-23
      • 2017-12-09
      • 1970-01-01
      • 2018-03-04
      相关资源
      最近更新 更多