2024-08-10



// 新增元素
var newElement = $("<p>这是新添加的元素</p>");
$("#element-container").append(newElement);
 
// 移除元素
$("#element-container p").remove();
 
// 判断元素是否有子元素
var hasChildren = $("#element-container").children().length > 0;
console.log(hasChildren); // 如果有子元素,将在控制台输出 true,否则输出 false

在这个例子中,我们使用jQuery来动态地操作DOM元素。首先,我们创建了一个新的<p>元素,并将其添加到#element-container元素内部。接着,我们移除了#element-container内的所有<p>元素。最后,我们检查#element-container是否有子元素,并在控制台输出结果。

2024-08-10

以下是一个使用jQuery实现在表格中添加和删除数据的简单示例:

HTML 部分:




<table id="data-table">
  <thead>
    <tr>
      <th>Name</th>
      <th>Age</th>
      <th>Delete</th>
    </tr>
  </thead>
  <tbody>
  </tbody>
</table>
 
<button id="add-btn">Add Data</button>

JavaScript 部分(使用 jQuery):




$(document).ready(function() {
  // 添加数据函数
  function addData() {
    var name = $('#name-input').val();
    var age = $('#age-input').val();
    $('#data-table tbody').append(`
      <tr>
        <td>${name}</td>
        <td>${age}</td>
        <td><button class="delete-btn">Delete</button></td>
      </tr>
    `);
  }
 
  // 删除数据函数
  function deleteData() {
    $('#data-table tbody').on('click', '.delete-btn', function() {
      $(this).closest('tr').remove();
    });
  }
 
  // 绑定添加数据事件
  $('#add-btn').click(addData);
 
  // 绑定删除数据事件
  deleteData();
});

在这个示例中,我们有一个表格用于展示数据,一个输入字段用于输入名字和年龄,以及一个按钮用于添加数据。添加数据时,新数据会被添加到表格的 tbody 中,并且每行有一个删除按钮。点击删除按钮会从表格中删除对应的行。

2024-08-10



<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery UI 排序(Sortable)示例</title>
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<style>
#sortable { list-style-type: none; margin: 0; padding: 0; width: 60%; }
#sortable li { margin: 0 3px 3px 3px; padding: 0.4em; padding-left: 1.5em; font-size: 1.4em; height: 18px; }
#sortable li span { position: absolute; margin-left: -1.3em; }
</style>
</head>
<body>
 
<ul id="sortable">
  <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>项目 1</li>
  <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>项目 2</li>
  <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>项目 3</li>
  <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>项目 4</li>
  <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>项目 5</li>
  <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>项目 6</li>
</ul>
 
<script src="//code.jquery.com/jquery-1.12.4.js"></script>
<script src="//code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script>
$( function() {
  $( "#sortable" ).sortable();
  $( "#sortable" ).disableSelection();
} );
</script>
 
</body>
</html>

这段代码展示了如何使用jQuery UI的Sortable功能来使一个列表(<ul>元素)中的项目(<li>元素)可以被排序。列表通过调用sortable()方法变为可排序,disableSelection()方法用来防止文本被选中,增强用户体验。

2024-08-10

以下是一个使用jQuery实现动态添加、删除表格行,并且合并指定单元格的示例代码:

HTML部分:




<table id="myTable">
  <thead>
    <tr>
      <th>Name</th>
      <th>Age</th>
      <th>Email</th>
      <th>Action</th>
    </tr>
  </thead>
  <tbody>
  </tbody>
</table>
 
<button id="addRow">Add Row</button>

CSS部分:




#myTable td:first-child {
  font-weight: bold;
}

jQuery部分:




$(document).ready(function() {
  var rowId = 0;
 
  // 添加行
  $('#addRow').click(function() {
    var newRow = '<tr id="row' + rowId + '">' +
                 '  <td>Name ' + rowId + '</td>' +
                 '  <td>30</td>' +
                 '  <td>name' + rowId + '@example.com</td>' +
                 '  <td><button class="deleteRowBtn" data-rowid="' + rowId + '">Delete</button></td>' +
                 '</tr>';
    $('#myTable tbody').append(newRow);
    mergeCells('Name ' + rowId, 0); // 合并第一列相同的单元格
    rowId++;
  });
 
  // 删除行
  $(document).on('click', '.deleteRowBtn', function() {
    var rowToDelete = $(this).data('rowid');
    $('#row' + rowToDelete).remove();
  });
 
  // 合并单元格的函数
  function mergeCells(text, colIndex) {
    var lastRow = -1;
    var lastValue = null;
    $('#myTable tbody tr').each(function() {
      var currentValue = $(this).children('td').eq(colIndex).text();
      if (currentValue !== lastValue) {
        $(this).children('td').slice(colIndex, colIndex + 1).attr('rowspan', 1);
      } else {
        $(this).children('td').slice(colIndex, colIndex + 1).removeAttr('rowspan');
        $(lastRow).children('td').slice(colIndex, colIndex + 1).attr('rowspan', function(i, val) { return val + 1; });
      }
      lastValue = currentValue;
      lastRow = this;
    });
  }
});

在这个示例中,我们定义了一个表格和一个按钮用于添加新行。jQuery用于处理添加行和删除行的事件,以及在添加新行时合并特定列中的单元格。这个例子简单地合并了第一列,但你可以根据需要合并任何列的单元格。

2024-08-10

在网页中使用 jQuery 去读取 Excel 文件的数据,通常需要借助 JavaScript 库,因为 jQuery 本身不支持直接读取 Excel 文件的功能。一个常用的库是 SheetJS (xlsx.js),它可以处理 Excel 文件的读写。

以下是使用 SheetJS 和 jQuery 读取 Excel 文件数据的基本步骤:

  1. 在项目中引入 SheetJS 库。
  2. 使用文件输入元素 <input type="file"> 让用户选择 Excel 文件。
  3. 使用 jQuery 监听文件选择事件,并在文件被选中后读取文件内容。
  4. 使用 SheetJS 解析 Excel 文件内容,并处理数据。

示例代码:




<!DOCTYPE html>
<html>
<head>
    <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.16.2/xlsx.full.min.js"></script>
</head>
<body>
 
<input type="file" id="input-excel" />
<div id="excel-data"></div>
 
<script>
    $(document).ready(function() {
        $('#input-excel').change(function(e) {
            var reader = new FileReader();
            reader.readAsArrayBuffer(e.target.files[0]);
            reader.onload = function(e) {
                var data = new Uint8Array(reader.result);
                var workbook = XLSX.read(data, {type: 'array'});
                
                // 假设我们只读取第一个工作表
                var firstSheetName = workbook.SheetNames[0];
                var worksheet = workbook.Sheets[firstSheetName];
                
                // 将工作表转换为JSON
                var json = XLSX.utils.sheet_to_json(worksheet);
                
                // 显示或处理JSON数据
                $('#excel-data').text(JSON.stringify(json));
            };
        });
    });
</script>
 
</body>
</html>

在这个例子中,当用户选择了 Excel 文件后,FileReader 对象被用来读取文件内容,然后 SheetJS 的 XLSX.read 方法被用来解析 Excel 文件内容,并通过 XLSX.utils.sheet_to_json 方法将工作表转换为 JSON 格式。最后,JSON 数据被显示在页面的一个元素中。

2024-08-10

在Web开发中,我们常常需要引用一些公用的组件,比如jQuery。以下是一些使用jQuery引用公用组件的方法:

方法一:使用CDN引用

CDN(Content Delivery Network,内容分发网络)是一种分布式网络,可以更快地将公用组件传送到用户的浏览器。




<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>

方法二:本地引用

如果你的项目无法访问外部的CDN,你可以将jQuery下载到本地,然后通过相对路径或者绝对路径引用。




<script src="path/to/your/jquery.min.js"></script>

方法三:npm引用

如果你使用的是像webpack这样的模块打包工具,你可以通过npm将jQuery作为一个模块引入到你的项目中。

首先,你需要在终端中运行以下命令来安装jQuery:




npm install jquery

然后,你可以在你的JavaScript文件中引入jQuery并使用它:




var $ = require('jquery');
// 然后你就可以使用jQuery了
$(document).ready(function(){
    console.log('jQuery is working!');
});

以上就是几种使用jQuery引用公用组件的方法。

2024-08-10

以下是一个简单的示例,展示如何使用Spring Boot后端、jQuery和axios创建一个前后端不分离的简单网页。

后端(Spring Boot):

  1. 创建一个Spring Boot项目,并添加spring-boot-starter-web依赖。
  2. 创建一个简单的REST控制器返回静态数据。



import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
 
@RestController
public class HelloController {
 
    @GetMapping("/hello")
    public String hello() {
        return "Hello, World!";
    }
}

前端(HTML + jQuery + axios):

  1. 创建一个HTML文件,并通过script标签引入jQuery和axios。
  2. 使用jQuery编写事件处理函数,通过axios发送GET请求到后端服务,并更新页面内容。



<!DOCTYPE html>
<html>
<head>
    <title>Simple Page</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
</head>
<body>
 
<div id="greeting">Loading...</div>
 
<script>
$(document).ready(function() {
    axios.get('http://localhost:8080/hello')
         .then(function (response) {
             $('#greeting').text(response.data);
         })
         .catch(function (error) {
             console.log(error);
         });
});
</script>
 
</body>
</html>

配置和运行:

  1. 确保Spring Boot应用程序正在运行,监听8080端口。
  2. 将上述HTML文件部署到静态资源服务器,或者运行一个本地服务器来提供HTML文件。
  3. 打开浏览器,访问HTML页面,查看结果。

请注意,这个例子假设后端运行在同一台机器上的8080端口。如果后端部署在不同的服务器或端口,需要相应地更改axios请求的URL。

2024-08-10

在使用 jQuery 与 Vue 和 Element UI 进行开发时,你需要先安装 Vue 和 Element UI:




npm install vue
npm install element-ui

然后在你的项目中引入 Vue 和 Element UI:




import Vue from 'vue';
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
 
Vue.use(ElementUI);

接下来,你可以创建一个 Vue 实例并挂载到使用 jQuery 选中的元素上:




$(function() {
  const app = $('#app');
  new Vue({
    el: app,
    data: {
      // Vue 实例的数据对象
    },
    template: `
      <div>
        <el-button @click="greet">点击我</el-button>
      </div>
    `,
    methods: {
      greet() {
        alert('Hello from Vue!');
      }
    }
  });
});

请注意,jQuery 和 Vue 可以很好地共存,但在大型应用中,推荐使用 Vue 完全接管视图层,而不是结合 jQuery。上述示例仅用于简单展示如何在现有 jQuery 项目中引入 Vue 和 Element UI。

2024-08-10

在JavaScript中,可以使用内置的DOMParser和XMLSerializer来实现HTML标签的转义和反转义。

转义HTML标签:




function escapeHTML(html) {
  var doc = new DOMParser().parseFromString(html, 'text/html');
  return doc.documentElement.textContent;
}

反转义HTML标签:




function unescapeHTML(text) {
  var doc = new DOMParser().parseFromString(text, 'text/html');
  var fragment = doc.createDocumentFragment();
  fragment.appendChild(doc.documentElement);
  return fragment.firstChild.innerHTML;
}

使用示例:




var escapedHTML = escapeHTML('<div>Hello & World</div>');
console.log(escapedHTML); // 输出:Hello &amp; World
 
var unescapedHTML = unescapeHTML('Hello &amp; World');
console.log(unescapedHTML); // 输出:<div>Hello & World</div>

这些函数通过解析和序列化HTML内容,可以将字符串中的特殊HTML标签转义,并在反转义时重新生成HTML标签。

2024-08-10

Vue.js 和 jQuery 是两种不同的技术,它们有着本质的区别,这主要体现在它们的设计理念、功能特性以及应用场景上。

Vue.js:

  • 设计理念:Vue.js 是一个渐进式的 JavaScript 框架,主张简洁,自带数据驱动和组件系统,容易上手。
  • 特性特点:Vue.js 2.0 引入了虚拟 DOM,数据驱动,组件系统等特性,而 Vue.js 3.0 进一步优化了这些特性,并引入了 Composition API 等新特性。
  • 应用场景:Vue.js 主要应用于构建单页应用(SPA),它的优点在于视图和数据的分离,以及它的响应式系统。

jQuery:

  • 设计理念:jQuery 是一个快速、简洁的 JavaScript 库,主要通过选择器简化 DOM 操作,提供跨浏览器的 JavaScript 能力。
  • 特性特点:jQuery 提供了丰富的 DOM 操作、事件处理、动画等功能,以及Ajax交互等,但是它主要依靠选择器查询DOM,性能上可能存在瓶颈。
  • 应用场景:jQuery 主要用于简化 DOM 操作、事件处理、动画等,以及开发跨浏览器的 JavaScript 代码,它适用于各种网站的快速开发。

Vue.js 和 jQuery 可以一起使用,Vue.js 可以作为 jQuery 插件的一个替代,但在构建单页应用时,Vue.js 的响应式和组件系统等特性更有优势。

在选择使用哪种技术时,可以考虑以下因素:

  • 如果是构建一个简单的网站,可能更倾向于使用 jQuery。
  • 如果是构建大型的单页应用或者想要充分利用 Vue.js 的数据驱动和组件系统,那么选择 Vue.js 会更合适。