草庐IT

parent 的javascript parent

coder 2025-02-13 原文

在 javascript 中是否有一种简单的方法来定位父对象的父对象?

我使用 this.parentNode 作为函数的元素来选择父节点,我尝试了 this.parent.parentNodethis。 parentNode.parentNode,但两者都只返回直接父节点。
我试图影响围绕“this”的 div 的 div。我确实设法使用一个简单的循环语句使其工作,该循环语句将 parentNode 选择重复两次,但我认为有更好的方法。

最佳答案

this.parentNode.parentNode 是正确的,您一定(抱歉!)在您尝试的测试中出错了。

示例:Live Copy | Source

HTML:

<div id="outermost">Outermost
  <div id="inner1">Inner 1
    <div id="inner2">Inner 2</div>
  </div>
</div>

JavaScript:

var inner2 = document.getElementById("inner2");

display("inner2.id = " + inner2.id);
display("inner2.parentNode.id = " + inner2.parentNode.id);
display("inner2.parentNode.parentNode.id = " + inner2.parentNode.parentNode.id);

display("Try clicking the blue 'inner2' above");

inner2.onclick = function(e) {
  display("Click: this.id = " + this.id);
  if (this.parentNode) {
    display("Click: this.parentNode.id = " + this.parentNode.id);
    if (this.parentNode.parentNode) {
      display("Click: this.parentNode.parentNode.id = " + this.parentNode.parentNode.id);
    }
  }
};

function display(msg) {
  var p = document.createElement('p');
  p.innerHTML = String(msg);
  document.body.appendChild(p);
}

输出(假设按指示单击一次):

inner2.id = inner2
inner2.parentNode.id = inner1
inner2.parentNode.parentNode.id = outermost
Try clicking the blue 'inner2' above
Click: e.target.id = inner2
Click: e.target.parentNode.id = inner1
Click: e.target.parentNode.parentNode.id = outermost

关于 parent 的javascript parent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15367111/

有关parent 的javascript parent的更多相关文章

  1. ruby-on-rails - 未定义方法 `parent' 为 nil :NilClass - 2

    我在使用Rails3.0.2时遇到了这个奇怪的错误。ActionView::Template::Error(undefinedmethod`parent'fornil:NilClass):app/controllers/channels_controller.rb:19:in`index'这是Controller,19行是respond_with(@channels)block。我从哪里开始搜索错误?classChannelsController这是完整的错误:ActionView::Template::Error(undefinedmethod`parent'fornil:NilCl

  2. ruby-on-rails - 工厂女孩 : Automatically assigning parent objects - 2

    我刚刚进入FactoryGirl,我遇到了一个困难,我相信应该容易得多。我只是无法将文档扭曲成一个工作示例。假设我有以下模型:classLeague我想做的是:team=Factory.build(:team_with_players)并让它为我培养了一批玩家。我试过这个:Factory.define:team_with_players,:class=>:teamdo|t|t.sequence{|n|"team-#{n}"}t.players{|p|25.times{Factory.build(:player,:team=>t)}}end但这在:team=>t部分失败了,因为t并不是真

  3. ruby-on-rails - rails : dynamically define class method based on parent class name within module/concern - 2

    我想根据包含此Mixin的类名在Mixin中动态生成一个类方法。这是我当前的代码:moduleMyModuleextendActiveSupport::Concern#defsome_methods#...#endmoduleClassMethods#HereiswhereI'mstuck...define_method"#{self.name.downcase}_status"do#dosomething...endendendclassMyClass但这给了我以下方法名称:MyClass.mymodule::classmethods_status在方法定义中获取基类名称是可行的(s

  4. 子类中的 Ruby : Invoke overridden method of parent class, - 2

    假设我有从A派生的B类是否可以像这样调用A的重写方法?classAdefmethod1enddefmethod2endendclassB#与HowdoIcallanoverriddenparentclassmethodfromachildclass?不完全相同,但我们似乎想做同样的事情。 最佳答案 我在这里假设B应该继承自A,而您只是在示例代码中输入了一个错字。如果不是这样,就没有办法做你想做的事情。否则,您可以通过将A的method2实例方法绑定(bind)到您当前的B对象并调用它来使用反射来做您想做的事这个:classAdefm

  5. javascript - 将 Prop 从 child 传递给 parent react 导航 - 2

    我正在使用react-navigation。我正在将props从react-nativecomponent传递到react-navigation的modal,它在点击。exportdefaultclassSomeCompextendsComponent{...render(){const{navigate}=this.props;return()}}在modal中,我访问了关闭modal的goBack()函数,以及props通过SomeComp传递exportdefaultclassModalextendsComponent{...render(){const{data,...}=th

  6. JavaScript 约定 : How do you assign arguments to the parent scope - 2

    varproblemtest=function(){varparameters;returnfunction(parameters){parameters=parameters;}}varmysolutiontest=function(){varparameters;returnfunction(parametersIn){parameters=parametersIn;}}这更像是一个JavaScript约定问题。通常我在上面有类似的代码。函数接受参数并将其分配给父范围。但是,我不能像在problemtest中那样使用它,因为作为参数的parameters隐藏了problemtest

  7. javascript - JS 原型(prototype)继承 : childs use the same parent properties? - 2

    假设我有Player对象:varplayer=function(name){this.handlers={};}player.prototype.on=function(event,callback){if(!this.handlers[event]){this.handlers[event]=[];}this.handlers[event].push(callback);}效果很好,我可以创建播放器,每个播放器都有自己的一组处理程序。现在假设我需要从player继承:vartestPlayer=function(name){this.name=name;};testPlayer.pr

  8. javascript - window.parent 不是未定义的? - 2

    我有一个页面。没有iframe:而且我需要检查页面是否在Iframe中,所以我这样做了:if(!window.parent){...不在iframe中...}但似乎window.parent永远不会undefined并且总是引用窗口(self===parent)。这是为什么呢?窗口没有(!)父窗口。那么为什么要定义它呢?注意我知道window.window.w....是相同的,这是有原因的。但我在谈论parent(!)我知道我可以检查这个条件:if(window.self===window.parent)...但我的问题仍然存在。 最佳答案

  9. javascript - 通过 Props 将值从 React Stateless Child 传递给 Parent - 2

    语境我正在尝试将输入值字段(conditionTitle)从ReactStateless子组件(AddConditionSelect)传递到父组件(AddConditionDashboard)>)这将保持我的状态。问题我遵循了Reactdocumentation中显示的模型,但他们使用的是refs,这仅在组件是有状态的情况下才有效。我不想在子组件中设置任何状态,但仍然能够访问父组件中的输入。在目前的形式中,我收到一个警告,无状态函数组件不能被赋予refs,导致props为null和未定义。父组件:importAddConditionSelectfrom'../containers/Ad

  10. javascript - 如何从 parent 中选择一组 child ? - 2

    假设我有一个Parent组件,它呈现一组Child组件。当悬停其中一个Child组件时,我希望突出显示(bg颜色)属于同一组的Child组件。看下面的代码,每个Child都有一个组属性:https://jsfiddle.net/69z2wepo/53442/constParent=React.createClass({render(){constrows=[];letgroup=1;for(leti=1;i);if(i%3===0){group++;}}return({rows});}});constChild=React.createClass({render(){return(id

随机推荐