首页 > 解决方案 > 如何通过 jquery 获取属性列表?

问题描述

如何从或获取列表中的所有srchref属性?ultable

例如:

<table>
<tr>                                                                     
        <td class="ex"><a href="url1">link1</a></td>    
    </tr>
        <tr>                                                               
        <td class="ex"><a href="url2">link2</a></td>  
    </tr>
        <tr>                                                       
        <td class="ex"><a href="url3">link3</a></td>   
    </tr>
</table>

标签: jqueryhtml

解决方案


我在这里提供的解决方案包括:

  1. 创建两个空数组href_list并将src_list存储string您要解析的值
  2. 查找具有和/或属性的and的任何 ( '*') 子元素。tableulhrefsrc
  3. 如果没有属性 ( undefined),则循环跳过该元素,否则将属性保存在相应的初始数组中。

var href_list = [];
var src_list = [];


$('table, ul').find('*').each(function() {
  var this_href = $(this).attr('href');
  var this_src = $(this).attr('src');
  
  if (this_href !== undefined) {
    href_list.push(this_href);
  }
  if (this_src !== undefined) {
    src_list.push(this_src);
  }
});

// Print arrays
console.log(href_list);
console.log(src_list);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<table>
  <tr>
    <td class="ex"><a href="url1">link1</a></td>
  </tr>
  <tr>
    <td class="ex"><a href="url2">link2</a></td>
  </tr>
  <tr>
    <td class="ex"><a href="url3">link3</a><img src="https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png" style="height: 2em"></td>
  </tr>
</table>


推荐阅读