2012-05-30 2 views
-2

Можно ли изменить jQuery так, чтобы вместо добавления к общему стилю .myCss я могу добавить к css в конкретный div 'myDiv'?Добавить css в конкретный div

var myDiv= $("#myDiv"); 
$('<a class=\".newCss\" href=\"#\"></a>').appendTo('.myCss'); 

По добавляемых к CSS Я имею в виду DIV конвертируется из этого:

<div id="myId" class="myCss"> 
</div> 

к этому:

<div id="myId" class="test"> 
    <a class="myCss"></a>            
</div> 
+2

Вам нужно удалить '. 'в классе? атрибут, и вы не должны избегать '' 'внутри строки' '' -quoted. – ThiefMaster

+1

@ThiefMaster: вы можете избежать '' 'внутри строки' '' -quoted, если хотите. У вас нет * have *, но вы можете. –

+1

Вам не нужно удалять '.' из класса имя, но это довольно странное имя класса, которое начинается с них. Escaping '' 'символов в строке, ограниченной с помощью' '', является расточительным и трудночитаемым, но ничего не сломает. – Quentin

ответ

2

Просто измените селектор.

$('<a class=\".newCss\" href=\"#\"></a>').appendTo('#myDiv'); 

Альтернатива, поскольку у вас есть ссылки на него уже, просто передать объект JQuery, созданный с помощью этого выбора ранее.

var myDiv= $("#myDiv"); 
$('<a class=\".newCss\" href=\"#\"></a>').appendTo(myDiv); 

Поскольку вопрос был переписан:

  1. Если вы не хотите в имени класса глупую ., не ставят один в этом
  2. Если вы дон 't хотите атрибут href, не ставьте его в него
  3. Убедитесь, что идентификатор, который вы используете в HTML, соответствует идентификатору, который вы используете в CSS

Такой:

var myDiv= $("#myId"); 
$('<a class="newCss"></a>').appendTo(myDiv); 
+0

Это не селектор. – gdoron

+1

@ gdoron - '# myDiv' ** является ** селектором. – Quentin

+0

@Quentin См. Править –

0

Sure:

var myDiv= $("#myDiv"); 
$('<a class="newCss" href="#"></a>').appendTo(myDiv); 

Или просто:

$('<a class="newCss" href="#"></a>').appendTo('#myDiv'); 

Или

$("#myDiv").append('<a class="newCss" href="#"></a>'); 

Или

$("#myDiv").html('<a class="newCss" href="#"></a>'); 

вещи Исправлено:

  • Удалены точка из class=\".newCss\"
  • Удалены Излишне маскирующим \
0

Попробуйте это:

$('<a class=\".newCss\" href=\"#\"></a>').appendTo("#myDiv .myCss"); 
+0

Что вы здесь пытаетесь сделать? – gdoron

+0

@ gdoron scan-прочитал вопрос и понял это неправильно :) –

0

С обновленным вопросом, я предполагал, что ваше требование, чтобы скопировать любой класс #myDiv имеет в новый <a> элемент, независимо от того, какого класса, который на самом деле:

var myDiv= $("#myDiv");    // find the div 
var cls = myDiv.attr('class');  // get its existing class 
$('<a>', {href: '#', 'class': cls}) // create the new link with that class 
    .appendTo(myDiv);     // append it 
myDiv.removeClass().addClass('test'); // change the div's class 
Смежные вопросы