0

我想创建自己的 html 标签。我在不止一页上使用它。

<myTag>
text
</myTag>

可以添加属性。应该运行一个 javascript 函数。每当使用标签时,该函数都必须运行。任何想法?

例如:

<body>
    <myTag  id="" class="" newAttribute="value" --blah blah blah-- >text</myTag>
</body>

<script>

   function myTagFunction(){
      blah blah.....
   }

<script>

我的目的不是破坏 HTML 标准。我只想学习如何创建自定义 HTML 标签。

4

8 回答 8

3

您想如何告诉浏览器以您定义的方式处理您的 html 标签?浏览器无法解释非标准标签。HTML 是一种标准,因此您不能以这种方式使用非标准标签。

于 2013-02-18T14:44:34.437 回答
3

只需使用调用 JavaScript 函数的普通 HTML 按钮即可。创建自己的 HTML 元素会使您的网站不合规。

于 2013-02-18T14:42:18.987 回答
2

我想创建自己的 html 标签

你真的没有。

HTML 是一种允许我们为文本添加含义的语言。

This is just some text.

<p>But this is a paragraph, because it has a <p> tag around it.</p>

<input type="submit" value="And this is a form submission button">

这使得计算机程序(包括传统的网络浏览器、视障人士的屏幕阅读器、移动电话和搜索引擎)可以与 HTML 进行有效交互,因为标签指示每个元素是什么。

这只有效,因为世界上每个人都同意这些标签的含义(通过HTML 规范)。

应该做的是使用任何现有的 HTML 标记,该标记与您所考虑的控件最匹配。对于“后退按钮”(请注意,世界上每个 Web 浏览器都已经提供),它可能是一个<button>标签,也可能是一个链接 ( <a>)。您还可以查看Accessible Rich Internet Applications (ARIA) 规范,看看是否有任何控件类型符合您的想法。

不过,我对您想要制作自定义 HTML 标记的解释有点困惑:

因为,我想在不止一页上使用它

也许您不想重复单击按钮时应该运行的 JavaScript 函数?如果是这样,您可以将该函数放入其自己的文件中,并将其包含在您要使用它的页面中:

<script src="/myFunction.js"></script>

然后您的按钮可以像这样使用它(非常简化的示例):

<button onclick="myFunction();"></button>

您可以在此处阅读更多内容:DOM 事件处理程序

于 2013-02-18T14:53:29.890 回答
0

那不可能在 html 中创建我们自己的自定义标签

最好给出类名以进行唯一标识..like

<span id="" class="backButton" newAttribute="value" >BACK</span>

并将此类'backButton'用于您的操作..

于 2013-02-18T14:45:01.877 回答
0

您可以在 html 标头中有自己的命名空间。但是你必须在每一页上设置它。它看起来类似于:

<html 
xmlns = "http://www.w3.org/1999/xhtml"
xmlns:og = "http://ogp.me/ns#"
xmlns:fb="http://ogp.me/ns/fb#">

但你不想要那个,因为它是一个非常繁重的过程。

于 2013-02-18T14:45:25.237 回答
0

您可以在技术上利用 XML Element Declaration,它是 XML 核心DTD规范的一部分,但我不知道 HTML 5 与基本 XML 相比,与 XHTML 相比表现得更好。

<!DOCTYPE html[
<!ELEMENT backButton ANY >
]>

仅供参考,我不知道上述方法是否有效,如果它有效,它就是如何工作的。

然而,这根本不值得,正如 Eric 所建议的那样,简单地使用一个class属性(可以用空格分隔以允许多个属性)会更加合规和可靠,或者,如果您仍然感到精力充沛,请使用data-属性,例如:

<div data-button_type="back">[back]</div>
于 2013-02-18T14:55:04.203 回答
0

相反,使用带有 CSS 类的 <span> 或 <div>,然后将事件处理程序附加到它。JQuery 使这种事情变得简单:

$(".myCSSClass").on("click", backButton);
于 2013-02-18T14:41:49.660 回答
-1

有一种方法可以创建自己的元素,但我不确定你是否可以如此轻松地分配 JS。

首先从现有元素派生

<element name="backButton" extends="button"> ... </element>

然后使用它

<backButton> ... </backButton>

请参阅此处了解更多信息。

除此之外,其他人都是对的!您的网站将不符合 HTML 标准。

于 2013-02-18T14:43:57.017 回答