Исправить исключение NullReferenceException можно с помощью Null-условных операторов в c # 6 и написать меньше кода для обработки нулевых проверок.
Он используется для проверки нуля до выполнения доступа к члену (?. ) или index (? [).
Пример
var name = p?.Spouse?.FirstName;
эквивалентен:
if (p != null)
{
if (p.Spouse != null)
{
name = p.Spouse.FirstName;
}
}
В результате имя будет нулевым когда p равно null или когда p.Spouse имеет значение null.
В противном случае имени переменной будет присвоено значение p.Spouse.FirstName.
Для получения дополнительной информации: Операторы с нулевым условием
Вы можете использовать селектор атрибутов, input[name="goButton"] { }
. Имейте в виду, что он не поддерживается в IE6.
Обновление: в 2016 году вы можете в значительной степени использовать их так, как хотите, так как IE6 мертв. http://quirksmode.org/css/selectors/
Для будущих googlers, FYI, метод в ответе @meder, может использоваться с любым элементом, который имеет атрибут name, поэтому давайте скажем, что theres <iframe>
с именем xyz
, тогда вы можете использовать правило как fows.
iframe[name=xyz] {
display: none;
}
Атрибут name
может использоваться для следующих элементов:
<button>
<fieldset>
<form>
<iframe>
<input>
<keygen>
<map>
<meta>
<object>
<output>
<param>
<select>
<textarea>
Вы можете использовать селектор атрибутов, но они не будут работать в IE6, как сказал медикер, есть обходные пути javascript к этому tho. Проверить Selectivizr
Более подробно в селектора атрибутов: http://www.css3.info/preview/attribute-selectors/
/* turns all input fields that have a name that starts with "go" red */
input[name^="go"] { color: red }
Вы изучили возможность использования jQuery? Он имеет очень доступную селекторную модель (похожую на синтаксис CSS), и даже если у ваших элементов нет идентификаторов, вы должны иметь возможность выбирать их, используя отношения parent -> child -> grandchild. После того, как вы их выбрали, есть очень простой вызов метода (я забыл точное имя), что позволяет применять стиль CSS к элементу (элементам).
Он должен быть прост в использовании и в качестве бонуса , вы, скорее всего, будете очень кросс-платформенными.
Если я правильно понимаю ваш вопрос,
Да, вы можете установить стиль отдельного элемента, если его идентификатор или имя доступно,
, например.
Если доступный идентификатор доступен, тогда вы можете получить контроль над элементом like,
<input type="submit" value="Go" name="goButton">
var v_obj = document.getElementsById('goButton');
v_obj.setAttribute('style','color:red;background:none');
else, если имя доступно, тогда вы можете получить контроль над элементом, например,
<input type="submit" value="Go" name="goButton">
var v_obj = document.getElementsByName('goButton');
v_obj.setAttribute('style','color:red;background:none');
Пример ввода текста
input[type=text] {
width: 150px;
}
input[name=myname] {
width: 100px;
}
Это идеальное задание для селектора запросов ...
var Set1=document.querySelectorAll('input[type=button]'); // by type
var Set2=document.querySelectorAll('input[name=goButton]'); // by name
var Set3=document.querySelectorAll('input[value=Go]'); // by value
Затем вы можете прокручивать эти коллекции для работы с найденными элементами.