如果我有以下HTML:
<p> some random text :) video?v=E_LkHrerwe4lnhhnrCbo another video?v=567ghf564_-56e</p>
<p> some2 random2 text2 video?v=rt5y5yvbn5y</p>
使用jQuery如何在video?v=
之后获取8个字符的ID,因此对于第一个ID,E_LkHrer
,然后用<span id="'+8charID+'"></span>
包裹字符串?因此,对于上面的HTML,它将返回
<p> some random text :) <span id="E_LkHrer">video?v=E_LkHrerwe4lnhhnrCbo</span> another <span id="567ghf56">video?v=567ghf564_-56e</span></p>
<p> some2 random2 text2 <span id="rt5y5yvb">video?v=rt5y5yvbn5y</span> </p>
ATM我有this,但我不知道从哪里去
我知道jQuery与我需要的东西没什么关系我只是测试我是否可以尝试从一个video?v=
$("p").each(function() {
var content = $(this).html();
var getwatch = content.split('video?v=');
$(this).after(getwatch[1].substring(0, 8));
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p> some random text :) video?v=E_LkHrerwe4lnhhnrCbo another video?v=567ghf564_-56e</p>
<p> some2 random2 text2 video?v=rt5y5yvbn5y</p>
答案 0 :(得分:2)
$('p').html(function (_, str) {
return str.replace(/video\?v=([^\s<]+)/g, function ($0, $1) {
return ['<span id="', $1.substr(0, 8), '">', $0, '</span>'].join('');
});
});