Это потому, что, когда вы вводите номер, нажмите «Ввод», input.nextInt()
потребляет только номер, а не «конец строки». Когда input.nextLine()
выполняется, он потребляет «конец строки» все еще в буфере с первого входа.
Вместо этого используйте input.nextLine()
сразу после input.nextInt()
Объедините их. Буквально объединить их; присоединить их вместе без каких-либо знаков препинания.
$('.myclass[reference="12345"]')
Ваш первый селектор ищет элементы со значением атрибута, содержащиеся в элементах с классом. Пространство интерпретируется как селектор потомков .
Ваш второй селектор, как вы сказали, ищет элементы с либо значением атрибута, либо классом, либо и тем, и другим. Запятая интерпретируется как оператор множественного выбора - что бы это ни значило (селектора CSS не имеют понятия «операторы», запятая, вероятно, более точно известна как разделитель).
Это также будет работать:
$(".myclass[reference='12345']").css('border', '#000 solid 1px');
Этот код работает тоже:
$("input[reference=12345].myclass").css('border', '#000 solid 1px');
Я думаю, вам просто нужно удалить пространство. то есть
$(".myclass[reference=12345]").css('border', '#000 solid 1px');
Здесь есть скрипка http://jsfiddle.net/xXEHY/