javascript - Jquery - 可以在 html 输入文本上使用 .attr 或类似的而不是正则表达式吗?

标签 javascript jquery

当用户将 iframe 代码粘贴到文本区域框中时,我试图获取 Vimeo 或 Youtube iframe 的视频缩略图。第一步是从 iframe src 属性获取视频 ID 号。

我知道如何在粘贴时获取 textarea.val() 但结果是一个字符串,我想访问 iframes src 属性示例 http://player.vimeo.com/video/video_ID然后使用

var n = srcFrame.lastIndexOf('/');
var result = srcFrame.substring(n + 1);

获取video_ID

有没有办法在 .val() 返回的值上使用 .attr 或类似的方法(也许我必须将字符串转换为对象?)或者我被迫进行一些杂技字符串操作?

用户输入示例为:

<iframe src="http://player.vimeo.com/video/THIS_NEEDED" width="500" height="300" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe> <p><a href="http://vimeo.com/65616948">Demo 01 2013</a> from <a href="http://vimeo.com/kr">KR</a> on <a href="http://vimeo.com">Vimeo</a>.</p>

最佳答案

你可以使用 prop('src') 来获取 src,如果你确定它不是以 / 结尾,你可以在 / 并弹出最后一个值:

var ID = $('iframe').prop('src').split('/').pop();

FIDDLE

编辑:

要从 HTML 字符串中获取 iframe 的 src,您可以将其解析为 HTML,将其附加到一个空元素,然后从那里开始:

var holder = $('<div />').append($('textarea').val());
var ID = $('iframe', holder).prop('src').split('/').pop();

alert(ID);

关于javascript - Jquery - 可以在 html 输入文本上使用 .attr 或类似的而不是正则表达式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17371213/

相关文章:

javascript - 单击按钮添加后重复的表单

javascript - 当 'Status = (failed)' 和 'Type = undefined' 时 Chrome 遇到什么样的网络错误

javascript - 组织中型 JavaScript 客户端应用程序的代码以进行测试

javascript - 无法滚动到动态元素

javascript - 尝试在调整大小时使我的旋转木马 slider 响应

javascript - 将数组或对象传递给函数将其转换为字符串

javascript - Bootstrap modal - 点击后立即关闭模态

jQuery 提交函数不调用 html5 验证

对象引用的 Javascript 字符串(没有 eval() 或索引)

javascript - 为什么允许使用 kebab-case 非标准属性,而不允许使用其他属性?以及如何在 TypeScript 中定义这样的类型?