【问题标题】:Jquery Outerhtml add extra unwanted styleJquery Outerhtml 添加额外不需要的样式
【发布时间】:2012-05-09 17:47:27
【问题描述】:

当我点击一个元素时,我有以下代码来获取 html 代码,例如

$('#button').click(function(){
     var a = $(this).wrap('<div></div>').parent().html(); 
     alert(a);
});

当一个按钮被点击时,我想获取我点击的元素的内容。

对于第一次点击,我能够得到我想要的。但是,当我第二次单击时,我意识到元素中添加了一些额外的样式。

示例:style="background-color:transparent;border-top-width:0 等"

为什么会这样?将不胜感激任何启示!

【问题讨论】:

  • 不会发生here
  • 但是你的代码用多级 div 包裹了点击的项目,不是问题吗?
  • 嗨,我更新了jsfiddle.net/XP7uF/7 基本上它发生了。我正在尝试单击 iframe 中的元素。感谢任何建议

标签: jquery outerhtml


【解决方案1】:

无需将元素包装在 div 中,然后找到元素的父元素(div)并从中检索 HTML。您可以直接从元素中获取 HTML,如下所示:

$('#button').click(function(){
     alert(this.innerHTML);
});

或者你可以这样做(更多的 jQuery-ish):

$('#button').click(function(){
     alert($(this).html());
});

【讨论】:

  • 好吧,我这样做是因为我还需要获取我正在单击的元素的代码。 (不仅仅是里面的代码)。例如

    这是我的内容

    当我点击

    元素时,我需要获取完整的

    这是我的内容

    。使用 $(this).html() 只会得到“这是我的内容”
【解决方案2】:

解决了这个问题。出现问题是因为我通过 jquery 添加了样式。逻辑设计问题。感谢大家的帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-20
    • 1970-01-01
    • 2016-09-02
    • 2014-09-24
    • 2014-11-16
    • 1970-01-01
    • 1970-01-01
    • 2016-10-31
    相关资源
    最近更新 更多