1

我有以下声明

            if(play == '4'){
                $(this).removeAttr('data-playa');
                $(this).attr("data-pausea",'5');
            }

基本上它替换data-playa="4"data-pausea="5"当前元素。$(this)使用 article-play so 类的当前锚标签的裁判$(article-play)。我需要以某种方式编辑此代码以将以下代码应用于$(article-play)页面上的所有元素,除了当前元素:

                $(article-play).removeAttr('data-pausea');
                $(article-play).attr("data-playa",'4');

所以它在逻辑上是这样的

        if(play == '4'){
            // Apply this to current .article-play
            $(this).removeAttr('data-playa');
            $(this).attr("data-pausea",'5');
        // Apply this to all other .article-play on a page
        $(article-play).removeAttr('data-pausea');
        $(article-play).attr("data-playa",'4');
        }
4

2 回答 2

3

最简单的:

$(this).removeAttr('data-playa').attr("data-pausea",'5');
$(article-play).not(this).removeAttr('data-pausea').attr("data-playa",'4');

如果您要改用该data()方法:

$(this).removeData('playa').data("pausea",'5');
$(article-play).not(this).removeData('pausea').data("playa",'4');

但是,如果其他元素是兄弟元素:

$(this).removeData('playa').data("pausea",'5').siblings()
    .removeData('pausea').data("playa",'4');
于 2013-06-05T19:03:38.353 回答
0
$(article-play).not(this).removeAttr('data-pausea');

?

于 2013-06-05T19:02:51.050 回答