【问题标题】:jQuery - replace attribute value with new value of all elementsjQuery - 用所有元素的新值替换属性值
【发布时间】:2017-08-17 11:49:51
【问题描述】:

我有这个 html 标记:

<div class="item" path="asaa/basba/asbsaa"></div>
<div class="item" path="bsbab/gbfssv/vsaava"></div>
<div class="item" path="asbaba/bsaba/dfsavava"></div>

重要的是每个都是不同的。我需要用类似的东西来获取这个属性:

var title = $(this).attr('path');

现在我需要分离属性:我只需要 * 和 * 之间的内容:

<div class="item" path="asaa/basba/*asbsaa*"></div>
<div class="item" path="bsbab/gbfssv/*vsaava*"></div>
<div class="item" path="asbaba/bsaba/*dfsavava*"></div>

有什么想法可以做这样的事情吗?感谢您的回答!

【问题讨论】:

  • 你能用类似的东西吗:var strArr = title.split("/"); var lastpart = strArr[strArr.length - 1];
  • 使用var title = $(this).attr('path').split('/'),然后title[2]将包含您需要的内容
  • @Viktor 不,这几乎是硬编码。最后一个比较好。

标签: javascript jquery attributes separator code-separation


【解决方案1】:

获取每个元素的属性,然后设置它的最后一部分

    $(".item").attr("path",function(){         
       return $(this).attr("path").split("/").pop();        
    })
    console.log($('body').html());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="item" path="asaa/basba/asbsaa"></div>
<div class="item" path="bsbab/gbfssv/vsaava"></div>
<div class="item" path="asbaba/bsaba/dfsavava"></div>

【讨论】:

    【解决方案2】:

    这是我会使用“数据”标签的典型场景

    <div class="item" data-path="asaa/basba/asbsaa"></div>
    

    脚本:

     $(".item").data("path").split("/").pop(); 
    

    更多信息here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-08
      • 2020-08-24
      • 2022-01-11
      • 1970-01-01
      相关资源
      最近更新 更多