我有一个隐藏<section />
的由包含要填充到 jQuery UI 对话框中的内容的 div 组成。在 document.ready 上,我想遍历这些 div,获取每个 div 的 id,用空格替换破折号,将每个单词大写,并将其存储在 title 变量中。然后,我将在放入我的dialogs[]
数组的对象文字中使用它。听起来很简单,对吧?
精简版的 HTML:
<section id="dialog-content" class="hidden">
<div id="some-dialog">
// awesome dialog content here
</div>
<div id="another-dialog">
// awesome dialog content here
</div>
<div id="modal-dialog">
// awesome dialog content here
</div>
</section>
JavaScript 的精简版:
var dialogs = [],
$container = $("#dialog-content");
$content = $container.find("> div");
$content.each(function (i)
{
var $this = $(this),
id = $this.attr("id"),
title = id.replace(/\-/g, " ");
console.log(title);
dialogs[dialogs.length] =
{
trigger: $("#" + id + "-trigger"),
title: title,
content: $this.html()
};
});
顺便说一句 - 我知道我可以使用$.data()
自定义属性并将其添加到我的 div 中,但我真的想要尽可能少的标记,我对这种特定的可能性感到好奇。所以这不是我的例子,而是手头的问题。
再次重申,问题是:
如何通过 JavaScript 将变量中的每个单词大写,就像text-transform: capitalize;
在 CSS 中一样?