我想创建自己的html标签

时间:2013-02-18 14:39:26

标签: javascript html

我想创建自己的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标记。

8 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:3)

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

答案 2 :(得分: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进行有效的交互,因为标签表明每个元素是什么。

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

应该做的是使用与您想到的控件最匹配的现有HTML标记。如果是“后退按钮”(请注意,世界上每个网络浏览器都已提供),可能是<button>标记,也可能是链接(<a>)。您还可以查看the Accessible Rich Internet Applications (ARIA) spec,看看是否符合您的想法。

我对你想要制作自定义HTML标签的解释感到有点困惑:

  

因为,我想在多个页面上使用它

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

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

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

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

您可以在此处详细了解:DOM event handlers

答案 3 :(得分:0)

相反,请使用&lt; span&gt;或者&lt; div&gt;使用CSS类,然后附加一个事件处理程序。 JQuery使这种事情变得简单:

$(".myCSSClass").on("click", backButton);

答案 4 :(得分:0)

无法在html中创建自己的自定义标签

最好为类别名称提供唯一标识..赞

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

并使用此课程'backButton'进行操作..

答案 5 :(得分:0)

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

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

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

答案 6 :(得分: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>

答案 7 :(得分:-1)

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

首先来自现有元素

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

然后使用它

<backButton> ... </backButton>

有关详细信息,请参阅here

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