[英]Find elements by attribute's partial value
我的页面上的iFrame
(id = iframe1)里面有一些img
标签。 其中一些将src
属性设置为myimg.jpg
,'myimg_small.jpg', myimg_large.jpg
等。
我想在里面找一切#iframe1
与src
像 myimg
,所以我写了
images = $('#iframe1').contents().find('[src*="myimg"]')
但我得到的错误如下
未捕获错误:语法错误,无法识别的表达式:[src * =“myimg”])
在Function.Sizzle.error(jquery-1.8.2.js:4679)
在tokenize(jquery-1.8.2.js:4739)
在select(jquery-1.8.2.js:5099)
在select(jquery-1.8.2.js:5276)
在Function.Sizzle [as find](jquery-1.8.2.js:3941)
在init.find(jquery-1.8.2.js:5372)
在<匿名>:1:36
这有什么不对?
更新
alert($('#if').contents().find('[src*="ss"]').next().html());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <iframe id='if'> <img src='sss.jpg' /> <div> scdscd </div> </iframe>
简单地说:
var x = $("img[src$='myimg.jpg']");
alert(x.attr("src"));
你错了使用iframe
。 iframe必须使用src
属性并使用它来加载其他页面的内容。 iframe不需要将其子元素直接包含在其标记中。
你可以试试这个。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<iframe id='if' src="1.html">
</iframe>
//1.html
...
<img src='sss.jpg' />
<div>
scdscd
</div>
你可以尝试如下。
alert($('#iframe1').contents().find('[src*="ss"]').next().html());
选择器正常工作。 你可以看到工作jsbin 这里 。
iframe
错误使用会导致您的问题。
如果要向iframe添加内容,则必须使用src
属性或使用srcdoc
属性的HTML字符串指定URL。
srcdoc属性指定要在内联框架中显示的页面的HTML内容。
确保您的iframe src
与您的主页面定位于同一个域。 否则,您无权访问iframe内容。 这称为XSS(跨站点脚本),主流浏览器阻止了它。
如果您的iframe源位于同一个域中,但仍无法访问其内容,请确保设置一个等待iframe内容的setTimeout
,因为iframe内容在加载主页后开始加载。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.