2013-06-03 2 views
0
$(function(){ 

    $('<a/>', { 
     id: 'foo', 
     href: 'http://google.com', 
     title: 'Become a Googler', 
     rel: 'external', 
     text: 'Go to Google!' 
    }).appendTo('body'); 

}); 

Я знаю, что передача объектного литерала со свойствами не работала в старых версиях IE в прошлом. Тем не менее, это, кажется, работает в настоящее время (IE10 в IE7-режиме):Динамически генерирующие элементы в IE7 + 8

http://jsfiddle.net/4Gr6f/show

ли это было исправлено для всех версий IE? Или он работает только в IE7-режиме, а не в родном IE7?

+1

Насколько я знаю, он не работал для элементов ввода, когда вы передаете свой «тип» через объект. Тип должен быть жестко закодирован в HTML. Но последние версии jQuery, похоже, исправили это, поскольку я, похоже, больше не вижу его в документах. – Joseph

+2

В дополнение к тому, что сказал Джозеф, элементы ввода были элементом _only_ с той проблемой, о которой я знаю. – nnnnnn

+0

@nnnnnn Правильно, и проблема, похоже, остается. Спасибо – Johan

ответ

1

У меня есть копия WinXP с IE8, установленная на виртуальной машине. Я пробовал вашу ссылку, и кажется, O.K. для меня: я получил ссылку, я нажал на нее, и она работает.

IE8 under WinXP

Сайт jsfiddle.net (без /show в URL), однако, не работает.

Я играл в режиме браузера и документа. Id не сохранял одинаковые поля, но он работал во всех них.

относящиеся к комментариям

скрипку http://jsfiddle.net/4Gr6f/2/show/ с input элемент выходит из строя (в IE8, у меня нет доступа к IE7) во всех возможных комбинациях режимов браузера и документа. Кроме того, body пуст в «Инструментах разработчика» (в вашем первом скрипке он имел тег a).

Дополнительная информация

Кажется, что http://browsershots.org/ тесты это правильно. Я попытался IE7, IE10 и FF21 со ссылкой http://jsfiddle.net/4Gr6f/2/show/ и IE7 дал диалоговое окно «ошибка сценария», в то время как два других показали поле ввода:

IE7 under Win8 FF21 under MacOS X IE10 under Win7

+0

Попробуйте это, желательно в ie7. Кажется неудачным: http://jsfiddle.net/4Gr6f/2/show/ – Johan

+0

Yup, он терпит неудачу (в IE8, у меня нет доступа к IE7) во всех возможных сочетаниях режима браузера и документа. Кроме того, 'body' пуст в« Инструментах разработчика »(в вашем первом скрипке был тэг' a'). –

+0

Обновите свой ответ относительно проблемы с типом ввода, и я соглашусь с ним. – Johan