小编Fuh*_*ton的帖子

jQuery选择器性能下降

我正在以MVC格式渲染超过600个表单(php Codeigniter).这些表单中的每一个都有一个标有"更多选项"的按钮.单击此按钮时 - 将切换位于同一父元素中的隐藏div,显示更多输入字段和数据.问题是在控制台中兄弟切换很快,但是当我点击实际按钮时,触发需要很长时间.

使用id是推荐的修复,但是当我有这么多的div元素时,它有点不切实际.

这是我的js文件

jQuery(document.ready(function(){
    jQuery("form >button[name='more_data'].meta_button").click( function(){  
        jQuery(this).siblings("div.meta").toggle("fast");
    });
});
Run Code Online (Sandbox Code Playgroud)

这是结构(这些div有650个,还有更多)

<div>
    <li id="bCIya8DZyr4idseJe5cbLA" class="even">
        <form action="url" method="post" accept-charset="utf-8">
            <div class="space_name"></div>
            <button name="more_data" type="button" class="meta_button">More Options</button>
            <input type="submit" name="Submit" value="Submit">
            <div class="meta" style="overflow: hidden; display: block;">
                <div class="meta_block">Set Estimates:
                    <div class="input_estimate">1:
                        <input type="number" name="estimate_1" value="" id="estimate_1" class="estimate">
                    </div>
                    <div class="input_estimate">2:
                        <input type="number" name="estimate_2" value="" id="estimate_2" class="estimate">
                    </div>
                    <div class="input_estimate">3:
                        <input type="number" name="estimate_3" value="" id="estimate_3" class="estimate">
                    </div>
                </div>
            </div>
        </form>
    </li>
</div>
Run Code Online (Sandbox Code Playgroud)

注意:我正在运行jQuery 1.7.2

javascript optimization jquery jquery-selectors

5
推荐指数
1
解决办法
637
查看次数

寻找一个dict值,如果它不存在 - 运行另一个模块

我正在为我的网络构建一个版本控制模块,这是我到目前为止所拥有的:

import os, plistlib
def cyberduck():
    path=('/Applications/Cyberduck.app/Contents/Info.plist')
    pl = plistlib.readPlist(path)
    pl['key']=0
        for key in pl.values():
            if (key=='4.2.1'):
                print("We're good!")
            else:
                print("No good")
                import cyberduck_install
Run Code Online (Sandbox Code Playgroud)

循环将找到版本字符串('4.2.1'),但也会找到所有非版本字符串.如何编写循环以便if('4.2.1')存在它将返回true并且只打印("我们很好!")并且if('4.2.1')在任何地方都不存在,它将返回是假的,只打印一次("不好")一次?

python

1
推荐指数
1
解决办法
51
查看次数