我们如何使用jQuery选择元素的参数

时间:2013-12-02 21:26:07

标签: jquery jquery-selectors

我们如何使用jQuery将<param name='wmode' value='WINDOW'更新为<param name='wmode' value='TRANSPARENT'

经过多次尝试后,我最终使用了以下内容,但未选择该元素:

$(window).load(function () {
    $("param[name='wmode'").attr('value', 'transparent')
});

背景:
$(window).load(...功能是必需的。我已经测试了这个省略[name='wmode']的相同代码段,并且每个参数都被覆盖到<param name="wmode" value="transparent"...,添加[name='wmode']会以某种方式打破选择器。

2 个答案:

答案 0 :(得分:3)

您的选择器中有拼写错误。更新您的代码如下:

$('param[name="wmode"]').prop('value', 'transparent');

此外,您可能想要挂钩DOMReady函数,而不是window.load事件。使用以下代码:

$(function() {  
    $('param[name="wmode"]').prop('value', 'transparent');
});

另请注意使用prop(),而不是attr()。这是jQuery文档:

  

属性属性之间的区别非常重要   具体情况。 在jQuery 1.6之前,有时会使用.attr()方法   在检索某些属性时考虑了属性值,   这可能会导致行为不一致。 从jQuery 1.6开始.prop()   方法提供了一种显式检索属性值的方法   .attr()检索属性。

答案 1 :(得分:2)

试试这个:

$(function() {  
    $('param[name="wmode"]').prop('value', 'transparent');
});

使用.prop()函数代替attr()

  

属性和属性之间的区别非常重要   具体情况。在jQuery 1.6之前,有时会使用.attr()方法   在检索某些属性时考虑了属性值,   这可能会导致行为不一致。从jQuery 1.6开始,.prop()   方法提供了一种显式检索属性值的方法   .attr()检索属性。