2017-06-06 8 views
0

でページの更新前に更新されていない属性、idとタイトルを保持し、その行の各データは、私は、データ・タイルの属性を更新するためのjQueryを使用しデータは、私はテーブルを持っている私のプロジェクトでjQueryを

<tr data-id="1" data-title="title"><td id="td_title">some text</td></tr> 

を属性として

$newTitle = 'newTitle'; 
$row_to_update = $("tr").find("[data-id='1']"); 
$row_to_update.attr('data-title', newTitle); 

はだから後に、HTMLに私が更新された値を見ることができますが、私がしようとした場合、これは:

$var = $row_to_update.data('title'); 
alert($var); 

それはretur私がページを再びロードしない限り、古いタイトルはありません。 私はすべてが

答えて

1

.find()を動作を停止して、私はキャッシュをクリアする必要がありますが、私はjQueryのには適用されていない、$.domCacheを発見し、また

function clearjQueryCache(){ 
    for (var x in jQuery.cache){ 
     delete jQuery.cache[x]; 
    } 
} 

しかし、明らかに正しくないを見て、試してみましたと仮定メソッドを使用すると、DOMツリー内のこれらの 要素の子孫を検索し、一致する要素の から新しいjQueryオブジェクトを構築できます。 .find()と.children()メソッドは、 と似ていますが、後者はDOMツリーの1つのレベルだけを移動する点が異なります。 $("tr").find("[data-id='1']");tr

はそれを見つけるために[data-id='1']を持つ要素を持っていません。.. .find()

むしろ
$newTitle = 'newTitle'; 
$row_to_update = $("tr[data-id='1']"); 
$row_to_update.data('title', $newTitle); 
//then 
$var = $row_to_update.data('title'); 
alert($var); // the output should be newTitle 

作業するデモ

$(document).ready(function(){ 
 
    $newTitle = 'newTitle'; 
 
    $row_to_update = $("tr[data-id='1']"); 
 
    $row_to_update.data('title', $newTitle); 
 
    //then 
 
    $var = $row_to_update.data('title'); 
 
    alert($var); // the output should be newTitle 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table> 
 
<tr data-id="1" data-title="title"><td id="td_title">some text</td></tr> 
 
<tr data-id="2" data-title="title"><td id="td_title">some text</td></tr> 
 
</table>

+0

ありがとうございます。あなたのコードが動作しているのをはっきりと見ることはできますが、アラート()には以前の値が表示されていますが、$( "tr [data-id = '1']」) – Dimentica

+0

@Dimenticaは '.attr( 'data-title'、newTitle);' .attr( 'data-title'、$ newTitle); '..を変更しました。そしてCTRL + F5はあなたのウェブサイトを更新します –

+0

はい、私しましたが、htmlでタイトルが変更されているのがわかりましたが、警告メッセージは他のものと思っています – Dimentica

0

を使用するので、必要はありませんよりの場合は、.attr('data-title')を使用できます。これは機能するかもしれません。

関連する問題