javascript - 试图换行按钮和元素

标签 javascript css

这是我使用的代码 ( http://jsbin.com/ESOdELU/1/edit ) -

var wordRandomizer = {
run : function(targetElem) {
var markup = this.createMarkup();
targetElem.appendChild(markup);
},
createMarkup : function() {
var that = this;
var frag = document.createDocumentFragment();

this.elem = document.createElement('span');

var button = document.createElement('button');
button.innerText = 'Change Item';
button.addEventListener('click', function() {
  that.changeItem();
});

frag.appendChild(this.elem);
frag.appendChild(button);

return frag;
},
changeItem : function() {
var rand = this.getRandInt(1, this.items.length) - 1;
console.log(rand);
this.elem.innerText = this.items[rand];
},
getRandInt : function(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
},
items : [
'itemA',
'itemB',
'itemC',
'itemD'
]
};

wordRandomizer.run(document.body);

我希望能够在按钮下方而不是旁边生成元素。我怎样才能做到这一点?作为奖励,我还想知道如何在无需编辑每个元素的情况下设置元素字体的格式。

最佳答案

这是包含您要求的所有更改的代码:http://jsbin.com/ESOdELU/8/edit

var wordRandomizer = {
  run : function(targetElem) {
    var markup = this.createMarkup();
    targetElem.appendChild(markup);
  },
  createMarkup : function() {
    var that = this;
    var frag = document.createDocumentFragment();

    this.elem = document.createElement('span');
    this.elem.style.color = "blue";

    var button = document.createElement('button');
    var br = document.createElement("br");
    button.innerText = 'Change Item';
    button.addEventListener('click', function() {
      that.changeItem();
    });

    frag.appendChild(button);
    frag.appendChild(br);
    frag.appendChild(this.elem);    

    return frag;
  },
  changeItem : function() {
    var rand = this.getRandInt(1, this.items.length) - 1;
    console.log(rand);
    this.elem.innerText = this.items[rand];
  },
  getRandInt : function(min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
  },
  items : [
    'itemA',
    'itemB',
    'itemC',
    'itemD'
  ]
};

wordRandomizer.run(document.body);

您可以在 span 上使用一个类,或者如果您想继续将它完全包含在 JS 中,请以我在此处提供的带有蓝色字体颜色的示例为基础。

关于javascript - 试图换行按钮和元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19648956/

相关文章:

javascript - 循环遍历json对象并按顺序排序

javascript - 查找在 HTML 5 Canvas 上绘制的不规则形状的最大高度宽度

html - 将背景图像 (.png) 添加到 SVG 圆形

html - css3 border-image的透明png问题

javascript - 如何在javascript中解析带有 `find`的xml属性?

javascript - 从对象内部刷新对象

javascript - 对对象中的方法和属性使用相同的变量

css - 使用 :before CSS pseudo element to add image to modal

jquery - X divs 流体,并排,最小宽度和两条线

css - 为什么我的普通字体无法加载,但粗体字体可以加载