JQuery attr или опора?

0

У некоторых есть пользовательское свойство из кода.

я добавляю их, используя

 sender.Attributes.Add("TextLinkNo", sender.TextLinkNo)
        sender.Attributes.Add("TextHeader", sender.TextHeader)
        sender.Attributes.Add("TextDisplay", sender.TextDisplay)
        sender.Attributes.Add("FSize", sender.FSize)
        sender.Attributes.Add("iRotation", sender.iRotation)
        sender.Attributes.Add("PrintStatus", sender.PrintStatus)
        sender.Attributes.Add("Parameter", sender.Parameter)
        sender.Attributes.Add("SupportDEC", sender.SupportDEC)

html-код

<span id="ctl00_ContentPlaceHolder1_LabelAttributes1_TabContainer1_TabPanel1_08" 
itextstyle="0" asign="0" supportdec="0" linetp="0" textlinkno="0" parameter="0" 
supportfontsize="False" class="draglabel ui-draggable ui-resizable" printstatus="7" 
spaceadjust="0" irotation="0" actc5="False" index="8" fieldformat="C1" ifontstyle="0" 
stringstatus="0" fsize="-1" ialign="0" textdisplay="Commodity Name" textheader="False" 
istartline="0" style="position: absolute; border-style: solid; border-width: 1px; left: 9px; top: 205px; width: 476px; height: 174px; background-color: rgb(255, 192, 203);" top="8" left="19">
Commodity Name
<div class="ui-resizable-handle ui-resizable-e" style="z-index: 90;"></div><div class="ui-resizable-handle ui-resizable-s" style="z-index: 90;"></div><div class="ui-resizable-handle ui-resizable-se ui-icon ui-icon-gripsmall-diagonal-se" style="z-index: 90;"></div></span>

я могу использовать эти свойства, используя

$(this).attr("supportdec");

но нет

$(this).prop("supportdec");
$(this).prop("data-supportdec");

я tot prop поддерживается поддержкой attr +additional?

  • 0
    так почему вы не можете просто использовать attr?
  • 0
    я просто хочу знать, почему опора не способна получить значение. Я использую все, что работает. это просто общий вопрос. Некоторые говорят, что attr получают что-то близкое, но не фактическое значение. опора лучше, чем атрибут. но я считаю, что опора не всегда может получить то, что я хочу
Показать ещё 3 комментария
Теги:

1 ответ

1

Уже задано множество вопросов, в которых указано различие между .attr() и .prop().

Я бы рекомендовал прочитать эту статью StackOverlfow.

Разница также задокументирована в jQuery api для функции .prop(), которая находится здесь.

Из сайта jQuery, упомянутого выше, было извлечено следующее.

Атрибуты против свойств

Разница между атрибутами и свойствами может быть важной в конкретных ситуациях. Перед jQuery 1.6 метод.attr() иногда учитывал значения свойств при извлечении некоторых атрибутов, что может привести к непоследовательному поведению. Начиная с jQuery 1.6, метод.prop() предоставляет способ явного извлечения значений свойств, в то время как.attr() извлекает атрибуты.

Например, selectIndex, tagName, nodeName, nodeType, ownerDocument, defaultChecked и defaultSelected должны быть восстановлены и заданы с помощью метода.prop(). До jQuery 1.6 эти свойства были восстановлены с помощью метода.attr(), но это не было в пределах attr. Они не имеют соответствующих атрибутов и являются только свойствами.

Согласно спецификации форм W3C, проверенный атрибут является логическим атрибутом, что означает, что соответствующее свойство является истинным, если атрибут присутствует вообще, даже если, например, у атрибута нет значения или для него установлено пустое строковое значение или даже "ложный". Это относится ко всем логическим атрибутам.

Тем не менее, самая важная концепция, которую нужно запомнить об проверяемом атрибуте, заключается в том, что она не соответствует проверенному свойству. Атрибут фактически соответствует свойству defaultChecked и должен использоваться только для установки начального значения этого флажка. Проверенное значение атрибута не изменяется с состоянием этого флажка, а свойство checked. Таким образом, для проверки того, установлен ли флажок, можно использовать свойство, совместимое с кросс-браузером.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню