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 + '...');
});
}