如何使用Jquery用swf对象值填充数组?

时间:2014-12-05 01:35:01

标签: jquery each

从这里开始是指向jsfiddle的链接:http://jsfiddle.net/5s0cgvvw/1/

我希望得到容器中存在的每个对象的值(与FlashVars名称相关联):

HTML:     

<object width="160" height="750" data="banner_160x750.swf" type="application/x-shockwave-flash">
    <param name="movie" value="banner_160x750.swf"> 
    <param name="quality" value="best"> 
    <param name="wmode" value="transparent"> 
    <param name="scale" value="default"> 
    <param name="FlashVars" value="0x0"> <!-- Target value -->
    <param name="allowFullScreen" value="false"> 
</object>

<object width="970" height="250" data="Panel1.swf" type="application/x-shockwave-flash">
    <param name="movie" value="Panel1.swf"> 
    <param name="quality" value="best"> 
    <param name="wmode" value="transparent"> 
    <param name="scale" value="default"> 
    <param name="FlashVars" value="160x0"> <!-- Target value -->
    <param name="allowFullScreen" value="false"> 
</object>

<object width="160" height="750" data="banner_160x750.swf" type="application/x-shockwave-flash">
    <param name="movie" value="banner_160x750.swf"> 
    <param name="quality" value="best"> 
    <param name="wmode" value="transparent"> 
    <param name="scale" value="default"> 
    <param name="FlashVars" value="1130x0"> <!-- Target value -->
    <param name="allowFullScreen" value="false"> 
</object>

<object width="300" height="250" data="Banner1.swf" type="application/x-shockwave-flash">
    <param name="movie" value="Banner1.swf"> 
    <param name="quality" value="best"> 
    <param name="wmode" value="transparent"> 
    <param name="scale" value="default"> 
    <param name="FlashVars" value="400x400"> <!-- Target value -->
    <param name="allowFullScreen" value="false"> 
</object>

实际Jquery代码:

var myArray = []; // create an empty array
$('div object').each(function() {
    var pickValue = $( "param[name='FlashVars']").attr('value');
    myArray.push(pickValue);
});

alert(myArray);

...我想把这些信息放在一个数组中以便以后处理它们(用于定位)。

使用我的实际代码,数组显示4个结果(这很好,因为我有4个flash对象)但它们都是相同的(0x0,0x0,0x0,0x0)。我不明白为什么结果是0x0,因为它是第一个闪光值。看起来它不会进入其他对象。

我的目标是像这样填充myArray:[0x0,160x0,1130x0,400x400]。

谢谢!

达明


更新

正确答案就是这样。 (再次感谢J08691)

var myArray = [];
$('object').each(function() {
    var pickValue = $(this).find('param[name="FlashVars"]').attr('value');
    myArray.push(pickValue);
});
alert(myArray); 

0 个答案:

没有答案