Что вы соответствие
Если вы просто хотите знать, что это имеет атрибут, не установлен на конкретное значение, оставь =
и значение:
$(".MyClass1[number]")
Это wi ll соответствует любому элементу с атрибутом number
и классу MyClass1
, который существует, когда выполняется эта строка кода.
Из ваших прав, похоже, вы пытаетесь сопоставить определенный номер. Предполагая, что userId
содержит 12
:
var userId = 12;
... тогда ваш код хорошо:
$(".MyClass1[number=" + userId + "]")
... потому, что имеет значение:
$(".MyClass1[number=12]")
You можете в кавычки значение, но вы только нужно, если значение содержит пробелы или несколько o а не буквенно-цифровые символы. Если вы знаете, что это число (и поэтому содержат только цифры), они не нужны.
Когда вы его соответствие
Ранее я сказал «Это будет соответствовать любому элементу с ..., который существует при запуске, что строка кода.» Это важно. Если код в блоке сценария выше элемента, он не найдет его, потому что элемент еще не существует:
<!-- Doesn't work -->
<script>
$(".MyClass1[number=12]").css("color", "green");
</script>
<!-- ... -->
<a href="#" number="12" title="@Resources.Appoint" class="MyClass1">Joe BLoggs</a>
Но если сценарий после, то этот элемент существует и можно найти:
<a href="#" number="12" title="@Resources.Appoint" class="MyClass1">Joe BLoggs</a>
<!-- Works -->
<script>
$(".MyClass1[number=12]").css("color", "green");
</script>
<!-- ... -->
обычная рекомендация состоит в том, чтобы поместить свои скрипты в конце страницы, непосредственно перед закрывающим тегом </body>
. Если вы не контролируете, куда они идут, хотя, вы можете использовать функцию ready
JQuery в:
$(document).ready(function() {
// ...your code here...
});
...который также может быть сокращен до:
$(function() {
// ...your code here...
});
Вы можете разместить HTML, который вы пытаетесь выбрать? – j08691
Вы уверены, что 'userId' имеет правильное значение? То, что у вас есть, должно работать. Может быть, поделитесь еще несколькими кодами? –
'number =" userId "' Uhm? – Jonathan