首页 > 解决方案 > 如何在jQuery中将函数直接附加到ID?

问题描述

我有一种形式,我必须table thead多次显示相同的形式。我认为一个解决方案是编写theadin 单个函数并在项目中我想要的任何位置调用该函数。为此,我编写了一个函数:

function commonStructure() {
  return append('<thead>
    <tr>name</tr>
    <tr><address></tr>');
  }

我试图调用这个函数,如:

$('#classA').commonStructure();

这对我不起作用。请帮我解决同样的问题。

标签: jqueryfunctionappend

解决方案


您的commonStructure函数与 jQuery 无关。如果要在 jQuery 对象上调用它,则需要将其创建为插件。从那里您需要修改您的append()函数以处理 jQuery 对象中包含的元素。如果您所做的只是将内容添加到 DOM,那么您可以使用 jQuery 自己的append()方法——尽管prepend()在您尝试创建标头时会更有意义。

还值得注意的是,JS 字符串不能包含换行符。将它们连接到多行或使用模板文字(如下例所示)。此外,您的 HTML 无效。需要将内容thead放置tdtr.

把它们放在一起,它应该看起来像这样:

$.fn.commonStructure = function() {
  return this.prepend(`<thead>
    <tr><td>name</td></tr>
    <tr><td>address</td></tr>
  </thead>`);
};

$('.foo').commonStructure();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<table class="foo"></table>
<table class="foo"></table>


推荐阅读