javascript - 下面这段js代码不能在jquery1.9.1版本下运行,我用jquery1.8.3使用没问题。哪里出问题了?
黄舟
黄舟 2017-04-10 17:55:16
[JavaScript讨论组]

下面这段js代码不能在jquery1.9.1版本下运行,我用jquery1.8.3使用没问题。哪里出问题了?

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
jQuery(function($) {
    $('.keywords-field a').click(function() {
        var field = $(this).parent().prev('input[type=text]');
        var keywords = $.map(field.attr('value').split(','), function(keyword) {
            return $.trim(keyword);
        });
        var keywords = $.grep(keywords, function(keyword) {
            return keyword.length > 0;
        });
        var op, keyword = $(this).text().substr(1);
        if ($.inArray(keyword, keywords) >= 0) {
            keywords = $.grep(keywords, function(keep) {
                return keep != keyword;
            });
            op = '+';
        } else {
            keywords[keywords.length] = keyword;
            op = '-';
        }
        field.attr('value', keywords.join(', '))
        $(this).text(op + keyword);
        return false;
    });
});
</script>

<p class="field-keywords">    
<p>
<label for="id_keywords_0">Keywords:</label>
<input id="id_keywords_0" name="keywords_0" type="hidden" /><input class="vTextField" id="id_keywords_1" name="keywords_1" type="text" class="form-control" /><p class='keywords-field'><a href='#'>+关键词1</a><a href='#'>+关键词2</a><a href='#'>+关键词3</a>'></p>  
</p>
</p>
黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(1)
ringa_lee

field.attr('value')在1.9.1下返回undefined,在1.8.3下返回""

可能两个版本对attr的支持不一样, 用val()来获取input输入框的值吧

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号