在函数之前等效于jQuery的原型

时间:2014-06-03 09:22:46

标签: javascript jquery prototype

jQuery before()方法的Prototype中是否有任何等价物?

var new_id = new Date().getTime(); 
var regexp = new RegExp("new_" + association, "g");
$(link).parent().before(content.replace(regexp, new_id)); 

错误发生在最后一行。我已将parent()方法替换为up()...但我不知道应该使用什么代替before()

1 个答案:

答案 0 :(得分:0)

我还没有使用Prototype,所以我对其API的理解可能因我对jQuery的熟悉而有所偏差,但insert()方法似乎是你正在寻找的:

$(link).up().insert({
    before : content.replace(regexp, new_id)
});

JS Fiddle demo

假设content.replace()产生了有效的结果。在简单的JavaScript中,这并不难:

var link = document.getElementsByTagName('a')[0]; // any means to get a valid DOM node
link.parentNode.insertAdjacentHTML('beforebegin', content.replace(regexp, new_id));

JS Fiddle demo

甚至:

var link = document.querySelector('a'),
    span = document.createElement('span');
span.appendChild(document.createTextNode('First paragraph:'));

link.parentNode.parentNode.insertBefore(span, link.parentNode);

JS Fiddle demo

参考文献: