函数之前的原型相当于jQuery

Prototype equivalent for jQuery before function

本文关键字:相当于 jQuery 原型 函数      更新时间:2023-09-26

在Prototype中是否有对应的jQuery before()方法?

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

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

我没有使用过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.

引用:

  • JavaScript:
    • Element.insertAdjacentHTML() .
    • Node.insertBefore() .
  • 原型:
    • insert() .