首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >可以在Div的代码中插入javascript版本的print吗?

可以在Div的代码中插入javascript版本的print吗?
EN

Stack Overflow用户
提问于 2018-08-18 03:38:49
回答 3查看 50关注 0票数 1

我有一个表单,当用户单击add或subtract users按钮时,它会添加和减去一个较小的表单。

我想要做的是,每当用户点击add按钮时,在div标记内的ID标记中添加一个+1。令人困惑的是,我知道,说这是原始标签:

代码语言:javascript
复制
<div id="formwrap" class="test" name="test">im a form in this formwrap</div>

现在假设用户点击add按钮,一个新的表单将在当前表单下面弹出,并使用打印或回显版本的javascript,这将是使用.append(html)或其他类似内容为div创建的新代码,如下所示:

代码语言:javascript
复制
<div id="formwrap" class="test" name="test">im a form in this formwrap</div>
<div id="formwrap" class="test2" name="test2">im a form in this formwrap</div>

如上所示,如果有人单击add按钮,则2将变为3

代码语言:javascript
复制
<div id="formwrap" class="test(+1 code would go here)" name="test(+1 code would go here)">im a form in this formwrap</div>

那么,在我编写代码之前,这是可能的吗?我希望能够以不同的方式样式较小的表单,我希望phpmailer能够获得检索所有的数据,这取决于他们有多少点击。并且在每个标签中添加一个+1就可以实现这两个目标。

EN

回答 3

Stack Overflow用户

发布于 2018-08-18 03:46:04

使用数据属性是可能的。

请参阅:https://developer.mozilla.org/en-US/docs/Learn/HTML/Howto/Use_data_attributes

你会做这样的事情

代码语言:javascript
复制
var count = 0
var formwrap = document.getElementById('formwrap');
formwrap.dataset.name = "aName" + count
// increment count on click
票数 0
EN

Stack Overflow用户

发布于 2018-08-18 04:03:51

你可以使用jquery来实现这一点,当用户点击add按钮时,你必须像这样增加count的值……

代码语言:javascript
复制
    var count = 0;
    $("button").on("click", function () {
       var html = '<div id="formwrap'+count+'" class="test'+count+'"
                  name="test'+count+'">im a form in this formwrap</div>';
       count++;
       $(div).append(html);
   });

这样你就可以做到这一点。

票数 0
EN

Stack Overflow用户

发布于 2018-08-18 04:18:23

代码语言:javascript
复制
//Create a private counter var
const counter = (function() {
  var formCount = 0;
  return {
    value: () => formCount,
    increment: () => ++formCount
  }
})();

//A function that will generate a "form" element
const ID_PREFIX = 'formwrap_';
const generateFormEl = () => {
  let el = document.createElement('div');
  el.setAttribute('id', `${ID_PREFIX}${counter.increment()}`);
  el.setAttribute('class', 'test');
  el.setAttribute('name', 'test');
  el.appendChild(document.createTextNode(`ID: ${el.getAttribute('id')}`));
  return el;
};

//Store your DOM elements in some vars
const forms = document.querySelector('#forms');
const btn = document.querySelector('[type="button"]');

//Add a form element to the DOM on click
btn.addEventListener('click', () => {
  const form = generateFormEl();
  forms.appendChild(form);
});
代码语言:javascript
复制
<div id="container">
  <input type="button" value="Add a form" />
  <div id="forms"></div>
</div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51901908

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档