我在javascript中有一个如下字符串
var str='<img class="avatar avatar-small 012345" src="/img/staff_avatar_profile.jpg" /> olah blah';
我每次都需要得到这个例子的数字 012345。在不同的场景中当然会有所不同,我还需要获取文本 olah blah,这在不同的场景中也会有所不同。
我在一个变量中有上面的字符串。;)
我如何在 java 脚本中以有效的方式执行此操作
我在javascript中有一个如下字符串
var str='<img class="avatar avatar-small 012345" src="/img/staff_avatar_profile.jpg" /> olah blah';
我每次都需要得到这个例子的数字 012345。在不同的场景中当然会有所不同,我还需要获取文本 olah blah,这在不同的场景中也会有所不同。
我在一个变量中有上面的字符串。;)
我如何在 java 脚本中以有效的方式执行此操作
在浏览器中解析 HTML 的最佳方式是让浏览器为您完成:
var div = document.createElement('div');
div.innerHTML = str;
var numbers = div.getElementsByTagName('img')[0].className.match(/ (\d+)/)[1];
这是小提琴:http: //jsfiddle.net/CGuLC/1/
如果 jQuery 在那里工作,你可以使用它来获得唯一的数字类名。看看jQuery - html 字符串上的选择器以获得线索。
使用数据属性而不是类。
<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/
如果您需要为元素存储数据,实现该目标的一种好方法是使用 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" />