0

私はjavascriptで次のような文字列を持っています

var str='<img class="avatar  avatar-small 012345" src="/img/staff_avatar_profile.jpg" />&nbsp; olah blah';

この例では 012345 のような番号を毎回取得する必要があります。これはもちろんシナリオによって異なります。また、シナリオによって異なるテキスト olah blah も取得する必要があります。

変数に上記の文字列があります。;)

Javaスクリプトでこれを効率的に実行するにはどうすればよいですか

4

4 に答える 4

2

ブラウザーで HTML を解析する最善の方法は、ブラウザーに任せることです。

var div = document.createElement('div');
div.innerHTML = str;
var numbers = div.getElementsByTagName('img')[0].className.match(/ (\d+)/)[1];

これがフィドルです:http://jsfiddle.net/CGuLC/1/

于 2013-09-13T14:18:34.033 に答える
0

クラスの代わりに data 属性を使用します。

<img class="avatar  avatar-small" data-id="012345" src="/img/staff_avatar_profile.jpg" />

次に、jQuery を使用して data 属性を取得します。

jQuery('.avatar').data('id');

ソース: http://html5doctor.com/html5-custom-data-attributes/ http://api.jquery.com/data/

于 2013-09-13T14:16:53.377 に答える
0

要素のデータを保存する必要がある場合、それを実現する 1 つの良い方法は、jQuery で data-key 属性を使用することです。

$('.avatar').data('number', '012345'); // set value
var number = $('.avatar').data('number'); // get value

レンダリングされたマークアップは次のようになります。

<img class="avatar  avatar-small" data-number="012345" src="/img/staff_avatar_profile.jpg" />
于 2013-09-13T14:22:45.270 に答える