Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用YUI按名称定位输入并在输入后插入内容_Javascript_Yui_Append_Element - Fatal编程技术网

Javascript 如何使用YUI按名称定位输入并在输入后插入内容

Javascript 如何使用YUI按名称定位输入并在输入后插入内容,javascript,yui,append,element,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 .... replaci

如何使用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>

var el=newyahoo.util.Element(document.createElement('div'));
var some_element=document.getElementsByName('some_name');
//不起作用。。。。用“document.body”替换“some_元素”有效
el.附录(某些元素);
document.getElementsByName(“某个\u名称”)始终返回一个集合(数组),如果您确定该名称是唯一的,则可以安全地编写此集合

var some_element = document.getElementsByName('some_name')[0];

如上所述,document.getElementsByName返回一个数组。您可能希望为输入提供一个与name属性同名的ID。(旁白:这是表单的常见和良好实践。其他js库在您这样做时提供了有用的扩展。)


(功能(){
var el=newyahoo.util.Element(document.createElement('div'));
//var some_element=document.getElementByName('some_name')[0];
var some_element=document.getElementsById('some_name');//首选,速度更快
//el.附录(某些元素);
YAHOO.util.Dom.insertAfter(el,some_元素);
})();
还请注意使用insertAfter而不是appendTo。您不希望el是输入元素的子元素。你想让它成为下一个兄弟姐妹。输入没有子项。最后,将这些变量添加到全局名称空间。这可能是个问题,也可能不是问题,但通常最好将代码封装在匿名函数中,除非您希望变量具有全局作用域并在以后重用它们,但是您可能希望为它们提供适当的名称空间

希望这能有所帮助(不要提供太多信息)

使用YUI 3,您现在可以执行以下操作:


YUI()。使用('node',函数(Y){
var contentNode=Y.Node.create(“”);
setHTML('这是一个由YUI创建的para…');
Y.one('#some_id')。插入(contentNode,'after');
});

基本上,你可以设置一个条件,然后说name=“some\u name”。
请参阅下面的代码,并观察是否仍然插入了图形


YUI()。使用('node',函数(Y){
var contentNode=Y.Node.create(“”);
setHTML('YUI通过搜索*INPUNAME*..创建的段落');
Y.one('input[name=“inpuname”]')。插入(contentNode,'after');
});

是的,效果很好。我选择不使用getElementbyId选项,因为我希望能够找到几个同名的输入(例如复选框)。顺便说一句,有一个输入错误“GetElementsByd”。我自己无法理解的部分是:YAHOO.util.Dom.insertAfter(el,some_元素);
<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>