我正在尝试使用javascript从div类中检索url
<div class="img-cover" style="background-image: url('https://scontent.cdninstagram.com/hphotos-xta1/t51.2885-15/s320x320/e15/11420829_845417035570963_433708785_n.jpg')"></div>
我已将此页面加载到iOS上的UIWebView http://websta.me/popular
我尝试检索所有图片的网址,我查找了源页面,发现我需要的所有图片都被加载到 div class 作为背景图片,如上例所示
我使用了document.getElementsByClass但不起作用。
我想将其实现到iOS应用中,从uiwebview检索图像网址并保存到nsarray
答案 0 :(得分:2)
从class
名称获取字符串:
NSString *someHTML = [theWebView stringByEvaluatingJavaScriptFromString:@"document.getElementsByClassName('class name')[0].innerHTML;"];
答案 1 :(得分:0)
根据问题中的示例<div>
标记,您需要:
NSString *someHTML = [MywebView stringByEvaluatingJavaScriptFromString:@"document.getElementsByClassName('img-cover')[0].style.backgroundImage;"];
您在评论中提供的示例代码正在使用.innerHTML
。但是,您的示例<div>
标记没有任何内部HTML。内部HTML是开始和相应结束标记之间的HTML,因此如果您有<div>hello</div>
,那么出现在该元素的.innerHTML
属性中的内部HTML将是hello
。在您的示例中,该网址实际上位于style
的{{1}}属性中,因此您希望使用<div>
获取该网址,然后您需要.style
样式,即在background-image
对象的backgroundImage
属性中。
但是请注意,您指向的页面没有style
标记中的图像,它们有锚点(<div>
标记),因此您可能需要略微修改该代码,但他们仍然在<a>
属性的background-image
样式中拥有您想要的网址,因此该部分保持不变。
答案 2 :(得分:-2)
这可能有助于检索您正在寻找的内容:
var myLinks = document.getElementsByTagName(&#34; a&#34;);
给你的div一个这样的ID:
然后在您的脚本中,您可以使用上面的内容调用该网址,并替换&#39; a&#39;用你为div选择的名字。