HTML-已分配 'id' DOM 中缺失

HTML-assigned 'id' Missing in DOM

在 Moodle (v. 3.5.7) Atto 编辑器中(同时使用 Chrome 和 Firefox)我一直在尝试为特定行分配一个 ID class,"span9".我的最终 objective 是为其分配一个唯一 ID 并通过 jquery 引用此元素,以便在其中附加另一个元素。

问题是,一旦我添加了一个 ID (id="checklist01") 并单击保存,该 ID 就不会出现在 DOM 中,并且似乎不存在。然而,当我重新进入 atto 编辑器时,瞧,它就在那里。所以它并没有被完全删除...只是没有以某种方式表达?

我在下面链接了 2 个屏幕截图,其中显示 (1) 编辑器视图,突出显示了元素和分配的 ID,以及 (2) DOM 保存更改后的屏幕截图,同样突出显示的区域,没有分配的 ID。

Screenshots of ID Missing from DOM

Bootstrap 版本。 4

到目前为止,我已经尝试在 atto 编辑器中切换 id 的位置(class 排在第一位与排在第二位之后);试图在id前面加一个"span"(不知为何,我很绝望);并且真的只是到处寻找遇到过类似事情的人。

我不确定 html 会提供多少帮助,但这里是:

<div class="row-fluid colored">
  <div class="iconbox span3">
    h4>Your Completion Status (%)</h4>
  </div>

  <div id="checklist01" class="span9">
  </div>

</div>

@Spaghett_86

感谢您分享更多详细信息。 我找到了去掉id属性的原因

id 属性被删除,因为 "Checklist" activity 使用了 Moodle 的安全 HTML 功能。 如果您想访问描述 HTML 的 ID 属性,请按照以下步骤操作。

  1. 转到 mod\checklist\locallib.php 文件。
  2. 然后搜索 formatted_intro() 函数(第 880 行左右)。
  3. 在该函数中,他们使用 Moodle 的 format_text() 函数来 return 描述文本。
  4. 在该函数中,他们使用了 3 个参数。
    • string $text 要格式化的文本。
    • int $format 要使用的文本格式的标识符
    • object/array $options 文本格式选项

替换

$opts = array('trusted' => $CFG->enabletrusttext);

$opts = array('trusted' => $CFG->enabletrusttext,'allowid'=>true);

然后保存你的文件并检查。按照上面的步骤就可以使用id属性了。

希望我的回答对您有所帮助。

谢谢。