使用Jquery与vuejs操作dom比较

本文通过实例展示了使用jQuery和Vue.js实现列表项添加功能的方法。jQuery直接操作DOM元素,代码简洁;Vue.js则利用数据绑定更新视图,虽然初始设置较为复杂,但有利于维护并提高了DOM复用率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

jquery实现添加功能

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>aaa</title>
        <script src="//cdn.bootcss.com/jquery/3.1.0/jquery.min.js"></script>
        <script>
            $(document).ready(function() {
                var textbda = $("#textbd").val();
                $("#btn1").click(function() {
                    $("ol").append("<li>"+textbda+"</li>");
                });
            });
        </script>
    </head>

    <body>
        <ol>
            <li>添加项目 1</li>
        </ol>
        <input id="textbd" type="text" value="aaaa" />
        <button id="btn1">添加</button>
    </body>

</html>

vue.js(v1.0)实现添加功能

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8" />
        <title>bbb</title>
        <script src="https://npmcdn.com/vue/dist/vue.js"></script>
    </head>

    <body>

        <div id="app">
            <input v-model="newTodo">
            <button v-on:click="addTodo">添加</button>
            <ul>
                <li v-for="todo in todos">
                    <span>{{ todo.text }}</span>
                </li>
            </ul>
        </div>
        <script>
            new Vue({
                el: '#app',
                data: {
                    newTodo: '',
                    todos: [{
                        text: '添加项目 1'
                    }]
                },
                methods: {
                    addTodo: function() {
                        var text = this.newTodo.trim()
                        if(text) {
                            this.todos.push({
                                text: text
                            })
                            this.newTodo = ''
                        }
                    }
                }
            })
        </script>
    </body>

</html>

共同点:jquery与vue.js(vue.js是一个用来开发 web 界面的前端库。)都是js库,不是框架。


不同点:从代码量看,jquery的代码比较少,vuejs的代码比较多。

从代码原理看,jquery操作的是直接dom元素。而vue.js操作的是dom元素对象。

vue.js优势是(视图-模型)双向绑定,简化了dom的操作(不用重写大量的html标签),提高dom的复用率(以最少代码实现更多的功能),倾向于数据读写,虽然看上去使用比较繁琐,但是利于后期的维护。

jquery优势是jquery语义化,容易理解,比较简单,可拓展的插件多。

总结:如果dom操作频繁,不需要动画效果,就使用vue.js。如果dom操作不频繁,但又需要复杂的动画效果,就使用jquery。

vue.js比较适合于后台管理页面,jquery比较适合于前台用户交互页面。

### 如何在 Vue 3 中正确引入使用 jQuery #### 安装依赖库 为了能够在 Vue 3 项目中使用 jQuery,首先需要安装 `jquery` 库。可以通过 npm 或 yarn 来完成这一步骤。 ```bash npm install jquery --save ``` 或者 ```bash yarn add jquery ``` #### 配置 Webpack 插件 为了让整个项目都能访问到 `$` 符号作为全局变量,在项目的根目录下找到或创建文件 `vue.config.js` 并加入如下配置[^4]: ```javascript const webpack = require('webpack'); module.exports = { configureWebpack: { plugins: [ new webpack.ProvidePlugin({ $: 'jquery', jquery: 'jquery', jQuery: 'jquery', 'window.jQuery': 'jquery' }) ] } }; ``` 这样做的好处是在任何地方都可以直接调用 `$()` 而不需要每次都重新导入模块。 #### 使用 jQuery 在组件内 一旦完成了上述设置之后就可以像下面的例子那样轻松地操作 DOM 元素了: ```html <template> <div class="home"> <button id="myButton">Click me</button> </div> </template> <script> export default { name: 'Home', mounted() { $('#myButton').on('click', function(){ alert('You clicked the button!'); }); }, } </script> <style scoped> #myButton { padding: 10px; font-size: 16px; } </style> ``` 通过这种方式可以在 Vue 组件生命周期中的适当阶段(如 `mounted`)来绑定事件监听器或其他逻辑处理程序[^2]。 需要注意的是虽然可以这样做,但是考虑到 Vue 的响应式特性数据驱动视图更新机制,通常建议尽可能利用这些特性而不是直接操纵DOM节点。只有当确实有必要时才考虑混合使用 jQuery VueJS[^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值