2016-11-09 7 views
2

enter image description hereIFrame Доступ из класса таблицы тд без Iframe ID

Я пытаюсь получить доступ к 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, который находится внутри в таблице> IFRAME> тд.

На самом деле я сделал это для простого тега тела. Как и далее, и он работает нормально.

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

Может кто-нибудь предложить, как я должен это делать?

+0

['.children()'] (https://api.jquery.com/children/) может вам помочь. – Henders

+0

Привет, Henders, Спасибо за ответ, но нет его нет. Я пробовал, но не работал – Punam

+0

у вас есть один iframe на всей странице html или более одного? –

ответ

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"); 
}); 
+0

Hello Soni, Спасибо за ответ. Я пробовал это, var element = $ ('table.cke_editor'). Find ('iframe'). Child ('body # cke_pastebin'); оповещение (элемент); но не работает – Punam

+0

и что для выше одного? вы попробовали еще один ответ? –

+0

да, я тоже пробовал, но не работал – Punam

1

Вы можете получить дочерний элемент с помощью .children() метода увидеть детали here.

Я добавил фрагмент кода, который удаляет атрибут стиля, пожалуйста, проверьте.

$(document).ready(function() { 
 
    $("#cke_contents_short_description").children().removeAttr('style'); 
 
});
<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>

Другой метод

Попробуйте ниже код может быть это может помочь.

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

Не работает – Punam

+0

@Joe Я обновил свой ответ с помощью фрагмента кода, пожалуйста, проверьте. – Tiger

+0

Спасибо за ваш ответ. Но я хочу удалить конкретный стиль «cke_pastebin» из «cke_contents_short_description» – Punam

0

Прежде всего, вы можете сделать это только для фреймов на том же домене, в противном случае было бы cross site scripting. Чтобы получить доступ к документу в вашем iframe тега:

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

Затем вы можете find() элемент с желаемым id атрибутом в iframeDocument и запустить удаление кода на нем.

+0

Это не работает. – Punam

+0

Не могли бы вы быть более конкретными? – wscourge

+0

ya sure, На самом деле я использую ckeditor, в котором cke_pastebin - это идентификатор, который имеет некоторые свойства, такие как переполнение, положение, верхний n всех. n, который находится под тегом iframe html, который находится внутри таблицы. Я хотел удалить все свойства, если тело iframe имеет id «cke_pastebin». – Punam

Смежные вопросы