Javascript-如果节点同级是映像
如何确定节点同级是否为映像Javascript-如果节点同级是映像,javascript,jquery,html,Javascript,Jquery,Html,如何确定节点同级是否为映像 function linkify() { if(supports3DTransforms && remove == 0) { var selector = '.linkroll a'; var nodes = document.querySelectorAll(selector); for(var i = 0, len = nodes.length; i < len; i++) { var node =
function linkify() {
if(supports3DTransforms && remove == 0) {
var selector = '.linkroll a';
var nodes = document.querySelectorAll(selector);
for(var i = 0, len = nodes.length; i < len; i++) {
var node = nodes[i];
var sibling = node.nextSibling; // Dont know if this is right
// I want to add if sibling is not an image...
if(!node.className || !node.className.match(/roll/g)){
node.className += ' roll';
node.innerHTML = '<span data-title="'+ node.text +'">' + node.innerHTML + '</span>';
}
};
}
}
函数linkify(){
if(supports3DTransforms&&remove==0){
变量选择器='.linkroll a';
var节点=document.querySelectorAll(选择器);
对于(var i=0,len=nodes.length;i
换句话说,我试图在一个div中类为
linkroll
的所有超链接上运行此函数,但我不希望它应用于任何超链接图像。您可以使用DOM元素的nodeName
属性
if(sibling.nodeName != "IMG")
// do something
使用jQuery
function linkify() {
if (supports3DTransforms && remove == 0) {
var selector = '.linkroll a';
$(selector).filter(function () {
var next = this.nextSibling;
console.log(this, $(this).next().is('img'))
return !$(this).next().is('img')
}).addClass('roll').html(function () {
return '<span data-title="' + $(this).text() + '">' + this.innerHTML + '</span>'
})
}
}
函数linkify(){
if(supports3DTransforms&&remove==0){
变量选择器='.linkroll a';
$(选择器).过滤器(函数(){
var next=this.nextSibling;
log(this,$(this).next().is('img'))
return!$(this.next().is('img'))
}).addClass('roll').html(函数(){
返回“”+this.innerHTML+“”
})
}
}
演示:如果您准备好使用jquery,非常简单的解决方案就是使用下面的代码
if($("a:not(:has(img))")){
// do some thing here
}