javascript - 如何使用 YUI 按名称查找输入并在其后插入内容

标签 javascript yui append element

如何使用 YUI 按名称定位文本输入并在其后插入一个 div?

例如,这不起作用:

<input name="some_name" type="text">

<script>
var el = new YAHOO.util.Element(document.createElement('div'));
var some_element = document.getElementsByName('some_name');

// doesn't work .... replacing 'some_element' with 'document.body' works
el.appendTo(some_element);

</script>

最佳答案

如上所述,document.getElementsByName 返回一个数组。您可能希望为输入提供一个与 name 属性同名的 ID。 (旁白:这对于表单来说是常见且良好的做法。当您执行此操作时,其他 js 库提供了有用的扩展。)

<input name="some_name" id="some_name" type="text">
<script>
(function () {
var el = new YAHOO.util.Element(document.createElement('div'));
// var some_element = document.getElementByName('some_name')[0];
var some_element = document.getElementsById('some_name'); // preferred, faster
// el.appendTo(some_element);
YAHOO.util.Dom.insertAfter(el,some_element);
})();
</script>

还要注意使用insertAfter 而不是appendTo。您不希望 el 成为输入元素的子元素。你希望它成为下一个 sibling 。输入没有子项。最后,您将这些变量添加到全局命名空间中。这可能是问题,也可能不是问题,但将代码包装在匿名函数中通常是个好主意,除非您打算让变量具有全局作用域并稍后重用它们,但随后您可能想为它们提供适当的命名空间.

希望有所帮助(并且没有太多信息。);)

关于javascript - 如何使用 YUI 按名称查找输入并在其后插入内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/923561/

相关文章:

javascript - YUI 加载程序的组合选项不会破坏浏览器缓存吗?

Jquery在页面上查找第一个h1并将更多html append 到其html中

python - 减少嵌套列表,扩展或 append 列表的功能

jQuery - 在 JSON append 后更新 css

javascript - 我可以省略所有版本(如果有)的 JavaScript 行尾的每个分号吗?

javascript - AngularJS - 将内插的 html 片段传递给指令属性

javascript - jQuery fadeIn 使页面滚动到顶部/跳转

javascript - 从 Firefox 浏览器扩展触发事件?

javascript - 具有多个系列的 YUI 图表

javascript - 从您单击的行的列中获取数据