You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现点击段落特定单词添加<dds>标签,适配document.querySelector('dds')

实现点击单词切换标签的方案

要实现点击段落中的单词时为其添加<dds>标签,且每次仅保留一个<dds>标签(点击新单词时自动移除旧标签),可以按照以下步骤实现:

实现思路

  • 将段落中的每个单词单独包裹为可交互元素,便于点击定位;
  • 监听单词点击事件,每次点击时先清理已存在的<dds>标签,再为当前点击的单词添加标签;
  • 确保始终只有一个<dds>标签存在,适配document.querySelector('dds')的获取逻辑。

代码示例

HTML

<p id="example-paragraph">This domain is established to be used for illustrative examples in documents. You may use this domain in examples without prior coordination or asking for permission.</p>

JavaScript

// 目标段落元素
const paragraph = document.getElementById('example-paragraph');

// 拆分段落文本为单词,每个单词用span包裹
paragraph.innerHTML = paragraph.textContent.split(/\s+/).map(word => `<span class="clickable-word">${word}</span>`).join(' ');

// 为每个可点击单词绑定事件
document.querySelectorAll('.clickable-word').forEach(wordElement => {
  wordElement.addEventListener('click', () => {
    // 移除已存在的dds标签
    const existingDds = document.querySelector('dds');
    if (existingDds) {
      // 将包含dds的单词还原为普通文本
      const parentWord = existingDds.closest('.clickable-word');
      parentWord.textContent = existingDds.textContent;
    }

    // 为当前点击的单词添加dds标签
    wordElement.innerHTML = `<dds>${wordElement.textContent}</dds>`;

    // 适配需求中的查询逻辑
    var card = document.querySelector('dds');
    console.log('当前选中的单词元素:', card);
  });
});

效果说明

  • 点击段落中的任意单词,该单词会被<dds>标签包裹;
  • 点击第二个单词时,第一个单词的<dds>标签会被自动移除,同时第二个单词被<dds>标签包裹;
  • 每次操作后,document.querySelector('dds')都能准确获取到当前被选中的单词元素。

内容的提问来源于stack exchange,提问作者user12585152

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 19:37:47