2015-12-15 3 views
0

Я пытаюсь добавить уникальный идентификатор для всех предварительно тегов с JQuery:как связать уникальный идентификатор предварительно теге

$('pre').each(function(){ 

      $(this).attr('id', $(this).uniqueId()); 

     }); 

Это создает:

<pre class="CodeBlock linenums" id="[object Object]"> 

Как я могу добиться этого поэтому он работает правильно?

Update: поймать весь текст между предварительно элементов, которые я сделал это Жека PHP и JS:

$SelectButton = '<span class="control-copytextarea" onclick="return fieldtoclipboard.copyfield(event, \\\'id1\\\')">[Select and Copy]</span><br />'; 

в сочетании с:

$('.Message .CodeBlock', this).wrap('<div class=surroundpre></div>'); 
    $('.surroundpre').prepend('$Uniquepreid'); 

id1 в строке PHP должен также иметь тот же уникальный идентификатор, что и предыдущий элемент ниже. Как я могу это достичь?

+0

Есть проблема, что идентификатор не форма, которую вы хотите, и/или что все теги получают тот же идентификатор, и/или что-то другое? –

ответ

1

Вам нужна библиотека https://api.jqueryui.com/uniqueId/ Функция uniqueId(): Создает и применяет уникальный идентификатор для набора согласованных элементов.

только с JQuery

В качестве альтернативы, только эта библиотека

$('div').each(function(){ 
    if ($(this).attr('id') == undefined){ 
     $(this).attr('id','id'+Math.floor((Math.random() * 99999999) + 1)) 
    } 
}); 
+0

Теперь он отлично работает – nuet

+0

Try, $ ('pre'). Each (function() { $ (this) .uniqueId() //$(this).attr('id ', $ (this) .uniqueId()); }); – juporag

+0

Отлично работает. Еще один вопрос: см. Пост выше, обновленный – nuet

Смежные вопросы