现在只有“可访问的ID”是“dialog1”。鉴于该信息我如何遍历以获得<object classid>
?
我刚刚意识到我要用Mootools做这个,因为脚本的其余部分都是用它写的。我完全不喜欢Mootools了。
。$( '#dialog1')的儿童( 'NOLOCALIZATION')的儿童( '对象')ATTR( '的classid');似乎对我有用。我实际上正在使用MooTools。如何在不冲突的情况下使用此jQuery?
<ul>
<li>
<a href="#dialog1" rel="vidbox" title="video">watch video</a>
</li>
</ul>
<div id="dialog1" class="window dialog" style="width: 806px; height:504px;">
<NOLOCALIZATION>
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="806" height="504" id="http://www.youtube.com/watch?v=uhi5x7V3WXE">
<param name="wmode" value="transparent" />
<param name="movie" value="http://www.youtube.com/watch?v=uhi5x7V3WXE" />
<param name="allowFullScreen" value="true" />
<param name="allowscriptaccess" value="always" />
<param name="FlashVars" value="width=806&height=504&dart_zone_url=&cms_id=AllBusiness&content_id=16009601&auto_start=1&auto_mute=1&playPreroll=0&playtremor=0"/>
<object type="application/x-shockwave-flash" width="806" height="504" data="http://www.youtube.com/watch?v=uhi5x7V3WXE">
<param name="wmode" value="transparent" />
<param name="movie" value="http://www.youtube.com/watch?v=uhi5x7V3WXE" />
<param name="allowFullScreen" value="true" />
<param name="allowscriptaccess" value="always" />
<param name="FlashVars" value="width=806&height=504&dart_zone_url=&auto_start=1&auto_mute=1&playPreroll=0&playtremor=0"/>
</object>
</object>
</NOLOCALIZATION>
</div>
答案 0 :(得分:4)
var classid = $('#dialog1 object').first().attr('classid');
或者我想:
$('#dialog1 object:not(object object)')
或
$('#dialog1 > nolocalization > object')
虽然我不确定浏览器如何处理<NOLOCALIZATION>
元素。
关于需要动态版本的评论之后:
$(dialog).find('object').first().attr('classid');
虽然你真的只需要阅读jQuery API并对你的选择者充满创意。测试出来;看哪有用;看看没有。
答案 1 :(得分:1)
对于mootools:
document.getElements("a[rel=vidbox]").addEvents({
click: function(e) {
e.stop();
var div = this.get("href").replace("#", "");
var obj = $(div).getElement("object");
// object may not be extended so normal getAttribute.
var attr = obj.getAttribute("classid");
alert(attr);
}
});
http://jsfiddle.net/dimitar/XUyDU/
请注意,在IE6-IE8中,mootools不会扩展OBJECT元素,因此obj将没有其他可用的.get()
或mootools添加的任何其他Element.proto。