Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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 原型函数使用同一类的不同id元素_Javascript_String_Prototypejs_Getelementbyid - Fatal编程技术网

Javascript 原型函数使用同一类的不同id元素

Javascript 原型函数使用同一类的不同id元素,javascript,string,prototypejs,getelementbyid,Javascript,String,Prototypejs,Getelementbyid,我正在制作这个原型脚本: function removing () { *var ids = $$('.class').collect(function(el) { return el.id; });* //array of ids, not used by now var data = $$('.class').pluck('innerHTML'); var wanted_count = 10; var output = cutHtmlString(data, wanted_count); $

我正在制作这个原型脚本:

function removing () {
*var ids = $$('.class').collect(function(el) { return el.id; });* //array of ids, not used by now
var data = $$('.class').pluck('innerHTML');
var wanted_count = 10;
var output = cutHtmlString(data, wanted_count);
$$('.class').invoke('replace', output + '...');
}
在此标记上:

<div class="class" id="id1">content 1</div>
<div class="class" id="id2>content 2</div>
<div class="class" id="id3>content 3</div>
内容1
内容3
cutHtmlString是一个用于剪切html字符串并保留标记的函数,我想将其应用于每个不同的div内容。我从general$$(.class)中创建“data”变量(通过innerHTML),然后通过单词计数(var wanted_count)执行剪切到“output”变量中。
最后,我用新的剪切内容替换原始元素(再次通过$$.class)。

除了一个问题:仅使用$$(class)使仅成为第一个要考虑的元素内容,并将其替换给其他元素。
我想我也需要通过ID识别元素。.因此,我添加了注释函数(collect),但我不知道如何加入我的目标。

到目前为止,我只得到了以下结果:

这是第一节课的内容 这是第一节课的内容。。。
这是第一节课的内容

虽然我想得到:

这是第一个“类”的内容 分区…
这是二等舱的内容。
这是三等舱的内容


感谢各位,感谢这个伟大的社区整体

我相信您正在将处理一组元素与处理单个元素混合在一起。我已经有一段时间没有使用Prototype了,但您是否尝试过单独处理,以便将输出范围限定到您要替换的元素:

function removing () {
  var data, output, wanted_count = 10;

  $$('.class').each(function(element){
    output = cutHtmlString(element.innerHTML, wanted_count);
    element.replace(output + '...');
  });
}

Invoke
只有在向每个元素填充相同的变量时才有效。您需要使用
每个
。
另外,我认为您希望使用
更新
,而不是
替换

试试这个

function removing() {
  $$('.class').each(function(el){
    var output = cutHtmlString(el.innerHTML, 10);
    el.update(output + '...');
  });
}