2016-05-12 6 views
2

要素から動的データ属性値を追加するスクリプトを使用します。classname - 2番目の部分は、データ属性の値をトリミングすることです。 HTMLのdata-attributeの特定の文字列を置き換えるにはどうすればよいですか?

例:私は、データ値に第一及び第三の単語を削除する例で

<div class="newgroup HardDrivesExternal" data-item-tags="HardDrivesExternal"></div> 

<div class="newgroup ServiceSuppor" data-item-tags="ServiceSupport"></div> 

- 私はカント:私はそれは次のようになりたい

<div class="newgroup HardDrivesExternal" data-item-tags="newgroup HardDrivesExternal show"></div> 

<div class="newgroup ServiceSuppor" data-item-tags="newgroup ServiceSupport"></div> 

それを要素クラスから削除して、データ属性からこれを行う必要があります。また、中間の単語が動的に変化するので、特定の単語、つまりnewgroupとshowをターゲットにしたい。それを悪化させるためには、ショーという言葉は常に価値ではありません。

値の特定の部分を置き換えるにはどうすればよいですか?

+0

データ値は常にそこにスペースとによって分離されていると仮定すると、あなたが望む入力と出力を –

+0

[デモ](https://jsfiddle.net/guradio/nm58dkpw/)追加してください3文字のみになります – guradio

+0

@guradioあなたの例は3番目の要素を示し、OPは2つの最初の値を削除します。 –

答えて

2

使用することができます。

注:.data(key, val)が機能していないため、.attrを使用しました。 Related post。また、値を表示するために、要素のテキストを更新しました。

(function() { 
 
    $.each($(".newgroup"), function(i, el){ 
 
    var attr = "item-tags"; 
 
    var val = $(el).data(attr).split(" ").splice(1,1)[0]; 
 
    $(el).attr("data-" + attr, val); 
 
    }) 
 
})()
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 
 
<div class="newgroup HardDrivesExternal" data-item-tags="newgroup HardDrivesExternal show">test1 </div> 
 

 
<div class="newgroup ServiceSuppor" data-item-tags="newgroup ServiceSupport"> test2</div>

+0

閉じる!どのように私はそれがテキストの要素を変更しないでそれを書くか? –

+0

私に例を教えてもらえますか?私はTypeErrorを取得:私はそれを試みるときに未定義のプロパティ '分割'を読み取ることができません。 –

+0

完璧、ありがとうございます。 –

1

あなたは、私がコメントしているとして、あなたは、単語の配列を取得するには、分割を使用し、2番目の単語を取得するためにarray.splice()を使用することができますsplit()

$(document).ready(function() { 
 
    var data = $('.HardDrivesExternal').attr('data-item-tags'); 
 
    var newdata = data.split(" "); 
 
    newdata.shift(); 
 
    newdata.shift(); 
 
    alert(newdata.join(" ")); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> 
 
<div class="newgroup HardDrivesExternal" data-item-tags="newgroup ServiceSupport show anotherTag"></div>

関連する問題