unction public_GetParentByTagName(element, tagName) 
{
         var parent = element.parentNode;
       
     
         var upperTagName = tagName.toUpperCase();         while (parent && (parent.tagName.toUpperCase() != upperTagName)) 
         {
             parent = parent.parentNode ? parent.parentNode : parent.parentElement;
         }
         
         return parent;
}
public_GetParentByTagName(objNode,"div");  //objNode是一个控件对象,比如check对象
 while (parent && (parent.tagName.toUpperCase() != upperTagName)) 
         {
             parent = parent.parentNode ? parent.parentNode : parent.parentElement;
         }
这两句什么意思,不懂 知道的朋友说的仔细点,本人基础差不好意思

解决方案 »

  1.   


    while (parent && (parent.tagName.toUpperCase() != upperTagName)) //如果()里表达式为真则一直执行下面的面容
    //如果parent不为空,而它的标签名称 将转化为大写的不等于 upperTagName

        parent = parent.parentNode ? parent.parentNode : parent.parentElement; //将parent赋值为的父节点

      

  2.   

    parent = parent.parentNode ? parent.parentNode : parent.parentElement
    主要这句,parentNode与parentElement
     有什么区别吗
      

  3.   

    一般没什么区别(现在所有主流浏览器都支持parentNode,可以直接写parentNode,可能是以前的ie不支持还是怎么的,)检查是否支持parentNode,如果支持就使用,否则使用parentElement
      

  4.   

    parent = parent.parentNode ? parent.parentNode : parent.parentElement 
    这句话什么意思?如果parent不为空 将其父节点赋给它?是这样的吗?
      

  5.   

    是parent.parentNode不为空的话,然后将其父节点再次赋给他?