function(i,origText)中的i和origText的意思

本文通过一个具体的jQuery示例,展示了如何使用函数参数i(元素下标)和origText(原始文本)来动态替换页面上的文本内容。该示例包括了两个按钮,分别用于替换文本内容和HTML内容。

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

这个问题是我复习jQuery的时候看见的,以前没自己考究:(下面是官方的文档实例)

i  就是选中元素的下标,这个例子给的是id,假如是ul 下面的 li 标签,用的class类我们就可以用下标了,3个li就分别是0,1,2,没有的话(例如这个id)就是为0,可以打印看下

origText就是指的是元素对应的原来内容,也可以打印看下,是origin text的缩写

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://cdn.static.runoob.com/libs/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
  $("#btn1").click(function(){
    $("#test1").text(function(i,origText){
		alert(origText);
      return "旧文本: " + origText + " 新文本: Hello world! (index: " + i + ")"; 
    });
  });

  $("#btn2").click(function(){
    $("#test2").html(function(i,origText){
      return "旧 html: " + origText + " 新 html: Hello <b>world!</b> (index: " + i + ")"; 
    });
  });

});
</script>
</head>

<body>
<p id="test1">这是一个有 <b>粗体</b> 字的段落。</p>
<p id="test2">这是另外一个有 <b>粗体</b> 字的段落。</p>
<button id="btn1">显示 新/旧 文本</button>
<button id="btn2">显示 新/旧 HTML</button>
</body>
</html>


%% 1. 读取文本文件并进行UTF-8编码 text = fileread('input_text.txt'); % 读取文本文件 rawData = unicode2native(text, 'UTF-8'); % 转换为UTF-8字节序列 disp(['原始数据长度: ', num2str(length(rawData)), ' 字节']); %% 2. 计算CRC-CCITT (0xA001)校验码 polynomial = hex2dec('A001'); % CRC-CCITT多项式 initialValue = hex2dec('FFFF'); % 初始值 crc = uint16(initialValue); % 高效CRC计算 for i = 1:length(rawData) crc = bitxor(crc, uint16(rawData(i))); for j = 1:8 carry = bitand(crc, 1); crc = bitshift(crc, -1); if carry crc = bitxor(crc, polynomial); end end end % 附加CRC到原始数据 (大端序) crcHigh = bitand(bitshift(crc, -8), 255); crcLow = bitand(crc, 255); dataWithCRC = [rawData, crcHigh, crcLow]; disp(['添加CRC后数据长度: ', num2str(length(dataWithCRC)), ' 字节']); %% 3. FEC卷积编码 (码率1/2) trellis = poly2trellis(7, [171, 133]); % 标准卷积码生成多项式 % 转换为比特流 bitData = de2bi(dataWithCRC, 8, 'left-msb')'; % 按字节转换为比特 bitData = bitData(:); % 转换为列向量 tailBits = zeros(6, 1); % 6个尾比特清零状态 bitData = [bitData; tailBits]; % 添加尾比特 % 卷积编码 encodedBits = convenc(bitData, trellis); disp(['编码后比特数: ', num2str(length(encodedBits))]); %% 4. 构建帧头 syncWord = [hex2dec('55'), hex2dec('AA')]; % 同步字段0x55AA dataLength = length(rawData); % 原始数据长度 % 长度字段(大端序) lenHigh = bitand(bitshift(dataLength, -8), 255); % 高字节 lenLow = bitand(dataLength, 255); % 低字节 frameHeader = [syncWord, lenHigh, lenLow]; disp(['帧头: ', num2str(frameHeader)]); %% 5. 组装完整帧 (含比特填充) % 添加填充比特使总比特数为8的倍数 numBits = length(encodedBits); numPadding = mod(8 - mod(numBits, 8), 8); % 计算填充比特数 paddedBits = [encodedBits; zeros(numPadding, 1)]; % 填充0比特 % 转换为字节序列 encodedBytes = bi2de(reshape(paddedBits, 8, [])', 'left-msb')'; % 组装完整帧 fullFrame = [frameHeader, encodedBytes]; disp(['完整帧长度: ', num2str(length(fullFrame)), ' 字节']); %% 6. QPSK调制 % 将字节流转换为比特流 frameBits = de2bi(fullFrame, 8, 'left-msb')'; frameBits = frameBits(:); frameBits = double(frameBits); % 转换为双精度 % 确保比特数为偶数 if mod(length(frameBits), 2) ~= 0 frameBits = [frameBits; 0]; % 补零 disp('注意: 比特流补零以保证偶数长度'); end % 标准Gray编码映射 I_bits = frameBits(1:2:end); % 奇数位 (I路) Q_bits = frameBits(2:2:end); % 偶数位 (Q路) % 双极性映射 (0->+1, 1->-1) I = 1 - 2 * I_bits; Q = 1 - 2 * Q_bits; % 功率归一化 (保证符号能量为1) symbols = (I + 1j * Q) / sqrt(2); disp(['QPSK符号数: ', num2str(length(symbols))]); %% 7. 保存IQ数据 iqData = reshape([real(symbols); imag(symbols)], 1, []); fid = fopen('QPSK_TX.dat', 'wb'); fwrite(fid, iqData, 'float'); % 存储为浮点数 fclose(fid); disp('IQ数据已保存至 QPSK_TX.dat'); %% 8. 绘制信号 % 星座图 figure('Name', 'QPSK调制信号', 'Position', [100, 100, 1200, 800]); subplot(2,2,1); plot(symbols, '.'); axis([-1.5 1.5 -1.5 1.5]); axis square; title('QPSK星座图'); xlabel('同相分量'); ylabel('正交分量'); grid on; hold on; % 绘制理想星座点 idealPoints = [(1+1j), (-1+1j), (1-1j), (-1-1j)] / sqrt(2); plot(real(idealPoints), imag(idealPoints), 'ro', 'MarkerSize', 10, 'LineWidth', 1.5); legend('调制符号', '理想位置'); % 前100个比特 subplot(2,2,2); stem(frameBits(1:min(100, end))); title('前100个传输比特'); xlabel('比特索引'); ylabel('幅值'); grid on; % IQ信号时域波形 subplot(2,2,[3,4]); t = 1:length(symbols); plot(t, real(symbols), 'b', 'LineWidth', 1.5); hold on; plot(t, imag(symbols), 'r', 'LineWidth', 1.5); title('IQ信号时域波形'); xlabel('符号索引'); ylabel('幅值'); legend('I路信号', 'Q路信号'); grid on; % 保存图像 saveas(gcf, 'QPSK_TX_Signals.png'); disp('信号图像已保存至 QPSK_TX_Signals.png'); 这是我发送端的流程,现在我需要逆向恢复出文本,并观察是否正确恢复
最新发布
08-08
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值