从表td类访问iframe而不使用iframe ID

时间:2016-11-09 12:54:49

标签: javascript php jquery html iframe

enter image description here

我正在尝试访问表格中的iframe。 有人可以建议如何使用jquery访问它吗?

<table class="cke_editor">
   <tr>
      <td id="cke_contents_short_description">
          <iframe>
               <html>
                  <body id="cke_pastebin" style="color:red">
                  </body>
              </html>
          </iframe>
       </td>
    </tr>
</table>

我的问题是我要从cke_pastebin内的jquery中删除table > iframe > td样式。

实际上,我已经为简单的身体标签做了这件事。如下所示,它工作正常。

$(document).ready(function() {
    var isId = (document.body.id === 'cke_pastebin');
    if (isId) {
        $("#cke_pastebin").removeAttr("style");
    }
}); 

有人可以建议我该怎么做?

3 个答案:

答案 0 :(得分:1)

您可以使用.children()方法获取子元素,请参阅详细信息here

我添加了删除样式属性的代码段,请检查。

&#13;
&#13;
$(document).ready(function() {
  $("#cke_contents_short_description").children().removeAttr('style');
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table class="cke_editor">
  <tr>
    <td id="cke_contents_short_description">
      <iframe style="width:500px;">
        <html>

        <body id="cke_pastebin" style="color:red">
        </body>

        </html>
      </iframe>
    </td>
  </tr>
</table>
&#13;
&#13;
&#13;

另一种方法

尝试以下代码可能会有所帮助。

<script>
    $(document).ready(function() {
        $(".cke_editor > tbody > tr > td > iframe > body").removeAttr('style');
    });
</script>

答案 1 :(得分:0)

尝试此更新语法:

$(document).ready(function() {
  var temp = $(document).find("#cke_contents_short_description iframe").contents();
  temp.find('html body').html("Hello There , I am done it").css("color","red");
});

答案 2 :(得分:0)

首先,您可以仅针对同一域中的iframe ,否则将cross site scripting。要访问iframe标记内的文档:

var iframe =$("#cke_contents_short_description").children("iframe")[0];
var innerDoc = $(iframe).contents();

然后,您可以在id中添加find()个具有所需iframeDocument属性的元素,并在其上运行删除代码。