当前位置: 首页 > 知识库问答 >
问题:

Thymeleaf-获取dom元素属性

桑飞语
2023-03-14

我使用Thymeleaf创建html组件。组件在单独的文件中声明:

buttons.html中基本按钮的声明

<div th:fragment="btn-basic" class="btn btn-basic" th:text="${text}" th:classappend="${class}">
    Button
</div>

这个想法是为组件提供某种类型的工具集。使用此组件的代码将是:

<div th:replace="~{buttons :: btn-basic (text='Button Text', class='button-class')}"></div>

它运行良好,但我考虑了按钮需要具有以下属性的情况:onClick="..."data-CustAttr="..."或任何其他属性。问题来了:

  • 如何将属性传递给按钮?
  • 一种方法是将其作为片段的参数传递,但它太丑了。
  • 有什么方法可以获取片段中占位符的属性吗?(见下面的示例

我想这样调用片段:

<div th:replace="~{buttons :: btn-basic (text='Button Text', class='button-class')}" onclick="..." data-customAttr="..."></div>

并且在btn-base片段中想要获取这些属性并附加到它。类似于这样:

<div th:fragment="btn-basic" class="btn btn-basic" th:text="${text}" th:classappend="${class}" onclick="..." data-customAttr="...">
    Button
</div>

有什么想法吗?

共有1个答案

晋言
2023-03-14

我有一个类似的想法,但问题是,如果组件的定制像结果一样复杂,那么好处是什么?

顺便说一句,使用Thymeleaf布局方言,您可以执行以下操作:https://ultraq.github.io/thymeleaf-layout-dialect/Examples.html#reusable-我喜欢模板,而不是一切作为参数的方法。

 类似资料:
  • 问题内容: 第一个和第二个显示的内容只不过是一个空字符串,我认为应该是and 。但是,经过精心设置之后,第三个终于警报了。 但为什么?我如何才能正确检索该属性? 谢谢。 问题答案: 的属性直接映射到 属性,而不是所施加的样式。为此,您需要getComputedStyle。 我会认真考虑切换演示文稿并将其与逻辑完全分开。

  • 问题内容: 我很难理解如何在PHP中使用DOMElement对象。我找到了这段代码,但是我不确定它是否适用于我: 基本上,我需要在DOM中搜索特定的,之后需要提取一个非标准的(即我用JS编写并使用的非标准的),以便可以看到它的价值。原因是我需要从中获取一份,而在HTML中则需要基于重定向。如果有人可以解释一下我如何为此目的使用DOMDocument,那将有所帮助。我真的很难理解发生了什么以及如何正

  • 问题内容: 我正在使用PHPDOM,并且试图在DOM节点中获取具有给定类名的元素。获得该子元素的最佳方法是什么? 更新: 我最终使用了PHP,它更容易使用。 问题答案: 更新:CSS选择器的Xpath版本 因此,在下面我回应hakre的评论之后,我感到好奇,并调查了后面的代码。看起来上面的选择器已编译为以下xpath(未经测试): 所以PHP将是: 基本上,我们在这里所做的就是规范化属性,以便即使

  • 问题内容: 我得到了此功能来获取cssPath: 但是我有这样的事情: 但是完全正确的是,它看起来应该像这样: 有人有任何想法简单地用javascript实现吗? 问题答案: 为了始终获得正确的元素,您将需要使用或来选择不能唯一标识元素的选择器。所以试试这个: 你可以添加一个例行检查在其对应的背景下独特的元素(如,,,等)。

  • 问题内容: 如何获得元素属性值? 例如HTML元素: JS: 非常感谢任何建议,请在此处进行JSFIDDLE演示:http : //jsfiddle.net/h3TFy/ 问题答案: 由于要将目标元素发送到函数,因此可以执行以下操作以获取ID:

  • 问题内容: 我正在使用Java解析Xml,我想在属性值的帮助下解析元素。 例如 在这种情况下,我想使用att值解析tag1数据。我是java和xml的新手。请引导我。 问题答案: 有多种方法可以做到这一点。您可以使用xPath(示例),DOM Document或SAX Parser(示例)来检索属性值和标记元素。 这是您要求的解决方法。我从不建议使用“ hack”类型,而是使用SAX(请参见示例链