解析& lt; img>SRC属性在<script>和/或& lt; noscript>标签
Parse <img> src attribute found within <script> and/or <noscript> tags
我有以下字符串:
<script src="https://sys.com/lerers/adkljrver?c=28dsfsd1&w=323434230&h=5424523420&ord=[timestamp]&z=0"></script>
<noscript>
<a href="https://ving-sys.com/server/asfdsfsdr.bs?cn=brd&pli=107dsfsd486sdfds231&Page=&Pos=1979577902" target="_blank">
<img src="https://bs.faf-sys.com/Serving/adServer.bs?c=8534&cn=displaying&pli=1073924861&Page=&Pos=77902" border=0 width=320 height=50></a>
</noscript>
我的目标是解析出src, width和height属性,而不使用正则表达式或任何类型的indexOf()/loop/If逻辑。
此解析将在浏览器中进行,因此可以使用本机浏览器功能或jQuery。
我已经试过了:
//myString is equal to the string above
var $jQueryObject = $('<div>' + myString + '</div>');
console.log($jQueryObject.find('img').attr('src'))
返回undefined。我认为这与尝试解析noscript和脚本标记中的元素有关。任何帮助返回src,高度和宽度元素将不胜感激。
使用DOMParser将是最简单的方法-请参阅所提供的链接中的浏览器兼容性表,具体来说,这不适用于IE9或更早版本
var parser = new DOMParser(),
ns = document.querySelector('noscript'),
doc = parser.parseFromString(ns.textContent, 'text/html'),
img = doc.querySelector('img');
console.log(img.width);
console.log(img.height);
console.log(img.src);
注意:你可以这样做来打动女孩:
var img = (new DOMParser()).parseFromString(document.querySelector('noscript').textContent, 'text/html').querySelector('img');
console.log(img.width);
console.log(img.height);
console.log(img.src);
在IE8/IE9的情况下,如果你必须支持它们,你可以这样做
var div = document.createElement('div');
div.innerHTML = document.querySelector('noscript').textContent;
var img = div.querySelector('img');
console.log(img.width);
console.log(img.height);
console.log(img.src);
但是请注意,图像将使用以下代码获取
相关文章:
- 在<页眉>标签
- Ckeditor-plugin:插入虚假元素add不情愿<p>标签前后
- </脚本>标签放错地方了
- Jquery在点击<a>标签
- Ionic V1.3-标签-带条件的徽章样式<离子选项卡>
- <选择>标签不起作用
- 如何在<嵌入>标签在Plone 4.1中
- 在<script src=“"></脚本>标签
- 使用几个<脚本>标签不会't工作-只调用一个脚本
- 如何在更新面板内部调用/触发javascript函数<触发器>标签
- react-让一个元素返回两个相邻的<tr>标签
- <h1>标签在离子含量元素中不可见
- VS代码:在<脚本>标签
- 在</表单>标签
- Meteor.js:<脚本>标签不't在<身体>
- Highlight.js为每个<代码>标签
- 链接& lt; a>标签,当条件不满足时下载默认的HTML页面
- 改变& lt; a>标签border-top's color菜单使用jQuery FOR循环
- Jquery表达式't "unhide"& lt; p>& lt; / p>标签
- 当点击< >之间的图像时如何播放mp3 ?& lt; / p>标签(html5代码)