Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.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 如何传递变量';原型内部的价值';s$()实用方法?_Javascript_Methods_Prototypejs_Utility - Fatal编程技术网

Javascript 如何传递变量';原型内部的价值';s$()实用方法?

Javascript 如何传递变量';原型内部的价值';s$()实用方法?,javascript,methods,prototypejs,utility,Javascript,Methods,Prototypejs,Utility,我希望parentId的值在行中的$()中 function insertChildDiv(parentId) { var ChildComment = new Element('div', {'class':'padding'}); ChildComment.update('testing'); $().insert(ChildComment); } 我已经试过了 $().insert(ChildComment); 但它将parentId求值为字符串,并正在查找元素id为“pa

我希望parentId的值在行中的$()中

function insertChildDiv(parentId)
{
  var ChildComment = new Element('div', {'class':'padding'});
  ChildComment.update('testing');
  $().insert(ChildComment);
}
我已经试过了

$().insert(ChildComment);
但它将parentId求值为字符串,并正在查找元素id为“parentId”的div,因此错误为$(“parentId”)为null

也试过

$('parentId').insert(ChildComment);
但是它返回的错误是“$(parentId)。insert不是一个函数”

顺便说一句,这个html调用脚本

$(parentId).insert(ChildComment);

您应该使用$(parentId)。通常插入(…)

插入(…)在您的特定情况下不起作用吗?

您通常会使用$(parentId).插入(…)

插入(…)在您的特定情况下不起作用?

$()接受字符串或DOM元素作为参数

编辑以反映原始Q中的编辑

$(parentId)将在id有效的情况下工作

传递给函数的id是“123456”,您要查找的id是“123456more”。此外,您要传递的是一个整数(123456),而不是字符串。无论如何,因为它们不匹配,prototype找不到它。 此外,id不应该以数字开头:IE8将失败,因为w3c规范说id属性不能以数字开头(如果我没记错的话)

尝试将html更改为

<a href="#" onclick="insertChildDiv(123456)" id="123456more">Replies and more</a>

它应该可以工作,

$()接受字符串或DOM元素作为参数

编辑以反映原始Q中的编辑

$(parentId)将在id有效的情况下工作

传递给函数的id是“123456”,您要查找的id是“123456more”。此外,您要传递的是一个整数(123456),而不是字符串。无论如何,因为它们不匹配,prototype找不到它。 此外,id不应该以数字开头:IE8将失败,因为w3c规范说id属性不能以数字开头(如果我没记错的话)

尝试将html更改为

<a href="#" onclick="insertChildDiv(123456)" id="123456more">Replies and more</a>


而且它应该工作

parentId的值是该
所在div的id。我在函数insertChildDiv()中传递了这个parentId的值,因此插入的子div将嵌套在此父div中。 此外,标签的id将用于将href值更改为隐藏插入的子div的值

谢谢,我将重命名元素的ID,使第一个字符变成字母

如果我删除将parentId包装在$()ex.
$(parentId).insert(ChildComment)中的单个qout返回的错误为:

<a href="#" onclick="insertChildDiv('more123456')" id="more123456">Replies and more</a>

如果我将parentId用单引号括起来,prototype将找不到id为“parentId”的div。错误将是
$(“parentId”)为null

parentId的值是该
所在div的id。我在函数insertChildDiv()中传递了这个parentId的值,因此插入的子div将嵌套在此父div中。 此外,标签的id将用于将href值更改为隐藏插入的子div的值

谢谢,我将重命名元素的ID,使第一个字符变成字母

如果我删除将parentId包装在$()ex.
$(parentId).insert(ChildComment)中的单个qout返回的错误为:

<a href="#" onclick="insertChildDiv('more123456')" id="more123456">Replies and more</a>

如果我将parentId用单引号括起来,prototype将找不到id为“parentId”的div。错误将是
$(“parentId”)为null。“this”指的是元素本身,所以将元素引用传递给函数,而不是字符串

$(parentId).insert is not a function
###
函数insertChildDiv(元素){
$(element).insert(新元素('div',{'class':'padding'}).update('testing'))
}
//或者,如果要添加ID:
函数insertChildDiv(元素){
$(element).insert(新元素('div',{'class':'padding',id:'more'+element.id})。更新('testing'))
}

这将有助于营救。“this”指的是元素本身,所以将元素引用传递给函数,而不是字符串

$(parentId).insert is not a function
###
函数insertChildDiv(元素){
$(element).insert(新元素('div',{'class':'padding'}).update('testing'))
}
//或者,如果要添加ID:
函数insertChildDiv(元素){
$(element).insert(新元素('div',{'class':'padding',id:'more'+element.id})。更新('testing'))
}

原始函数与传入$()的参数一起工作

下面是一个测试用例:


原始函数与传入$()的参数一起工作

下面是一个测试用例:


哇,非常感谢大家! 现在它起作用了。 为了其他可能遇到同样情况的人的利益,我认为发生了以下情况:
不要将数字仅用作元素的ID(即使“ID”一词暗示它应该是一个数字)。是的,如果您确实需要该ID上的数字,请在ID的开头包含一个字母。我现在使用的ID是ID=“parent123456”

哇,非常感谢大家! 现在它起作用了。 为了其他可能遇到同样情况的人的利益,我认为发生了以下情况:
不要仅将数字用作元素的ID(即使单词“ID”表示它应该是一个数字)。是的,如果您确实需要该ID上的数字,请在ID的开头包含一个字母。我现在使用的ID是ID=“parent123456”

很接近,但要获得Prototype提供的“insert”方法,您必须通过$()函数传递元素:$(element.insert(…)+1无论如何,使用提供的对象引用而不是用字符串查找它。是的,你是对的,Joel。元素需要在此上下文中扩展为$(element)。很接近,但要获得Prototype提供的“insert”方法,必须通过$()函数传递元素:$(element)。insert(…)+1无论如何,用于使用提供的对象引用,而不是使用字符串进行查找。是的,您是cor