第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

jQuery訪問屬性,其中數據屬性是子字符串

jQuery訪問屬性,其中數據屬性是子字符串

紫衣仙女 2022-10-13 16:24:10
感謝一百萬花時間閱讀本文 :) 首先讓我向您展示我正在處理的示例代碼:<div id="section-0000001" class="section" data-section-223344="{"id":"123456", "type":"product"}">  <div>Section 0000001</div></div><div id="section-0000002" class="section" data-section-223344="{"id":"123456", "type":"category"}">  <div>Section 0000002</div></div><div id="section-123456" class="section" data-section-223344="{"id":"123456", "type":"showcase-product"}">  <div>Section 123456</div></div><div id="section-234567" class="section" data-section-223344="{"id":"234567", "type":"showcase-product"}">  <div>Section 234567</div></div><div id="section-345678" class="section" data-section-223344="{"id":"345678", "type":"showcase-product"}">  <div>Section 345678</div></div><div id="section-0000003" class="section" data-section-223344="{"id":"123456", "type":"image"}">  <div>Section 0000003</div></div>我想要實現的是為所有類型為“showcase-product”的 div 添加一個類。我無權訪問原始代碼,因此我需要使用 Jquery 執(zhí)行此操作。不幸的是,沒有一個獨特的類可以過濾掉這些,唯一獨特的是展示產品,但正如您所見,它是數據屬性中對象的一部分,我不知道如何訪問它。如果屬性 data-section-xxxxxx 相同,這會容易得多,但每個 div 都有一個唯一的值,但第一部分 data-section- 總是相同的。我可以用這個循環(huán)遍歷div:$('.section').each(function(){    for(data in $(this).data())        console.log(data); });但是我想不出一種方法來只過濾掉 type = show-product 的 div。我還嘗試了另一種方法:$( ".section" ).each(function( i ) {    element=this;    $.each(this.attributes, function() {       if(this.name.indexOf('data-section') != -1)            $(element).addClass("myClass");    });});這會添加類,但也會將其添加到沒有 type = show-product 的類,例如 type = image 或 type = category。我想它可能是這樣的this.name.type.value.indeOf('data-section') != 1 但我不確定正確的語法或如何訪問它,特別是因為類型不是值,它是值中的一個對象。任何幫助表示贊賞。
查看完整描述

1 回答

?
萬千封印

TA貢獻1891條經驗 獲得超3個贊

見這種方法;評論中解釋了它的作用:


$(".section").each(function(i, element) {

  // get dataset values

  var dataValues = Object.values(element.dataset);

  // find if has type using a regular expression

  var foundType = false;

  for (var j = 0; j < dataValues.length; j++) {

    if (dataValues[j].match(/\"type\":\"showcase-product\"/)) {

      foundType = true; // one dataset value matched!

    }

  }

  // skip this element if no match

  if (!foundType) return;

  // do your stuff with showcase-product here:

  console.log(element, 'found!');

  $(element).addClass("myClass");

});

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div id="section-0000001" class="section" data-section-223344='{"id":"123456", "type":"product"}'>

<div>Section 0000001</div>

</div>

<div id="section-0000002" class="section" data-section-223344='{"id":"123456", "type":"category"}'>

<div>Section 0000002</div>

</div>

<div id="section-123456" class="section" data-section-223344='{"id":"123456", "type":"showcase-product"}'>

<div>Section 123456</div>

</div>


查看完整回答
反對 回復 2022-10-13
  • 1 回答
  • 0 關注
  • 160 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號