JQuery: изменение имени клонированного объекта не работает в IE? - PullRequest
1 голос
/ 12 августа 2010

С помощью jQuery я динамически клонирую объект-флажок ввода, а затем меняю его имя, используя следующую инструкцию:

row.find('[name="ACCCHB_CDARM"]').attr("name",id);

ACCCHB_CDARM - это имя атрибута объекта, который я клонирую.

Нет проблем с использованием FireFox, но в IE он не меняет исходное значение!

Правильно ли указан этот код?

Большое спасибо.Мирко

1 Ответ

1 голос
/ 12 августа 2010

Чтобы воспроизвести вашу ошибку, я написал следующий код, который отлично работает с Internet Explorer 8.0:

<script type="text/javascript">
    $(document).ready(function(){
        var row = $('#row');
        var inp = row.find('[name="ACCCHB_CDARM"]');
        inp.attr("name","NewName");
        alert(inp.attr("name"));
    });
</script>
<div id="row">
    <input type="checkbox" name="ACCCHB_CDARM" />
</div>

NewValue получает предупреждение после изменения атрибута name на NewValue.

Похоже, что в более старых версиях Internet Explorer атрибут name нельзя было динамически изменить (пост датируется 2005 годом). Текущая документация MSDN для name гласит следующее:

Microsoft JScript позволяет изменять имя во время выполнения

Далее вВ документации, где приведены некоторые примеры того, как динамически изменить атрибут name, вы найдете следующую строку:

Для этой функции требуется Windows Internet Explorer 7 или более поздней версии

Чтобы приблизить мой ответ, похоже, что вы используете более старую версию Internet Explorer.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...