Если я правильно прочитал ваш вопрос, то думаю, что сработает следующее:
$('#clickMe').toggle(
function(){
$('#textBox').show();
$('#clickMe').text('hide');
},
function(){
$('#textBox').hide();
$('#clickMe').text('show');
});
JS Fiddle demo .
Если вы используете атрибут for
, чтобы определить элемент, к которому label
'подключается', а также использовать имена классов, то это можно сделать более общим и полезным:
$('.clickMe').toggle(
function(){
$('#' + $(this).attr('for')).show();
$(this).text('hide');
},
function(){
$('#' + $(this).attr('for')).hide();
$(this).text('show');
});
Демонстрация JS Fiddle .
Имейте в виду, однако, что элемент label
используется для связи информации с конкретными элементами input
, в отличие от общего идентификатора для произвольных элементов. В идеале для этой цели следует использовать элемент span
или div
, а не label
.
Если вы переключитесь на использование элементов, отличных от label
, то атрибут for
также не следует использовать, вместо него я бы предложил (предполагая, что есть та же связь между тем, что в настоящее время label
и div
) с помощью пользовательского атрибута data-*
(например, data-for
) для определения взаимосвязи.
Также обратите внимание, что в приведенном выше примере, например, class
вместо селектора id
, поскольку id
должен быть уникальным в документе.