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

如果 jQuery 在那里工作,你可以使用它来获得唯一的数字类名。看看jQuery - html 字符串上的选择器以获得线索。

于 2013-09-13T14:21:18.717 回答
0

使用数据属性而不是类。

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

然后使用jQuery获取数据属性。

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

来源: http://html5doctor.com/html5-custom-data-attributes/ http://api.jquery.com/data/

于 2013-09-13T14:16:53.377 回答
0

如果您需要为元素存储数据,实现该目标的一种好方法是使用 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 回答