Javascript 如何在第一个下一个签名之后获得下一个签名?
我们能够运行此代码Javascript 如何在第一个下一个签名之后获得下一个签名?,javascript,Javascript,我们能够运行此代码 str.parentNode.nextSibling.tagName 并得到相应的名称。我们需要的是nextSibling之后的nextSibling,所以我们尝试了这个 str.parentNode.childNodes[3].tagName 它不起作用了吗?此问题的任何解决方案?childNodes[3]将返回parentNode的第四个子节点,而不是第二个子节点 要获取该节点,可以应用nextSibling两次: var tagName = str.parentNo
str.parentNode.nextSibling.tagName
并得到相应的名称。我们需要的是nextSibling
之后的nextSibling
,所以我们尝试了这个
str.parentNode.childNodes[3].tagName
它不起作用了吗?此问题的任何解决方案?
childNodes[3]
将返回parentNode
的第四个子节点,而不是第二个子节点
要获取该节点,可以应用nextSibling
两次:
var tagName = str.parentNode.nextSibling.nextSibling.tagName;
childNodes[3]
将返回parentNode
的第四个子节点,而不是其下一个兄弟节点
要获取该节点,可以应用nextSibling
两次:
var tagName = str.parentNode.nextSibling.nextSibling.tagName;
请注意,元素的
nextSibling
可能是一个文本节点,它没有标记名属性,或者可能根本不存在,在这种情况下nextSibling
将是未定义的,尝试访问其标记名
属性将抛出错误
因此,您可能希望执行以下操作:
var nextSibling = getNextElementSibling(str.parentNode);
var tagName = nextSibling? nextSibling.tagName : ''; // or maybe undefined
if (tagName) {
// do stuff
} else {
// no element sibling was found
}
function getNextElementSibling(node) {
while (node && (node = node.nextSibling)) {
if (node.nodeType == 1) {
return node;
}
}
// return undefined
}
而getNextElementSibling
函数类似于:
var nextSibling = getNextElementSibling(str.parentNode);
var tagName = nextSibling? nextSibling.tagName : ''; // or maybe undefined
if (tagName) {
// do stuff
} else {
// no element sibling was found
}
function getNextElementSibling(node) {
while (node && (node = node.nextSibling)) {
if (node.nodeType == 1) {
return node;
}
}
// return undefined
}
请注意,元素的nextSibling
可能是一个文本节点,它没有标记名属性,或者可能根本不存在,在这种情况下nextSibling
将是未定义的,尝试访问其标记名
属性将抛出错误
因此,您可能希望执行以下操作:
var nextSibling = getNextElementSibling(str.parentNode);
var tagName = nextSibling? nextSibling.tagName : ''; // or maybe undefined
if (tagName) {
// do stuff
} else {
// no element sibling was found
}
function getNextElementSibling(node) {
while (node && (node = node.nextSibling)) {
if (node.nodeType == 1) {
return node;
}
}
// return undefined
}
而getNextElementSibling
函数类似于:
var nextSibling = getNextElementSibling(str.parentNode);
var tagName = nextSibling? nextSibling.tagName : ''; // or maybe undefined
if (tagName) {
// do stuff
} else {
// no element sibling was found
}
function getNextElementSibling(node) {
while (node && (node = node.nextSibling)) {
if (node.nodeType == 1) {
return node;
}
}
// return undefined
}
那么这是做什么的呢?它是同一个str.parentNode.childNodes[2]。标记名?@user,否,它做的事情相当于str.parentNode.parentNode.childNodes[+1]。标记名
。那么它是做什么的呢?它是同一个str.parentNode.childNodes[2]。标记名?@user,否,它的作用相当于str.parentNode.parentNode.childNodes[+1]。标记名
。你说得对空间是一个大问题,它会导致未定义,尤其是在右侧之间?你说得对空间是一个大问题,它会导致未定义,尤其是在右侧之间?