2013-08-29 2 views
2

Это часть вывода, динамически генерируемого большой страницей jQuery. Текст внутри пространств создается внутри внешнего скрипта, к которому у меня нет доступа. Я хочу заменить его собственным текстом.Заменить текст моим собственным - jQuery

Как я мог это сделать?

<div class="questionDiv"> 
     <div class="innerQuestionDiv" id="firstQuestion"> 
      <span class="question"> 
       THIS IS THE FIRST QUESTION 
      </span> 
     </div> 
    </div> 

    <div class="questionDiv"> 
     <div class="innerQuestionDiv" id="secondQuestion"> 
      <span class="question"> 
       THIS IS THE SECOND QUESTION 
      </span> 
     </div> 
    </div> 

Может быть Somthing как это ...

 //TO REMOVE EXISTING TEXT 
    $('#firstQuestion').innerhtml(''); 
    //AND REPLACE 
    $('#firstQuestion').innerhtml('<span class="question">MY QUESTION</span>') 

ответ

4

Прежде всего, необходимо определить , которые родителей Y ou're работает. В этом примере я выбрал div firstQuestion. Затем я развернул селектор, чтобы нацелить ребенка span, чье имя класса «вопрос». Если у вас есть элемент диапазона, используйте text() функцию JQuery для обновления его содержимого (если вы просто обновить его с новым текстом):

$('#firstQuestion .question').text('your new text'); 

Если вы собираетесь добавить содержимое HTML, используйте html() вместо:

$('#firstQuestion .question').html('<strong>your new text</strong>'); 

в качестве альтернативы, вы можете просто заменить все содержимое DIV, как вы пытались в своем втором фрагменте кода:

$('#firstQuestion').html('<span class="question">MY QUESTION</span>'); 
0
$('firstQuestion').innerhtml(''); //WRONG and missed # for id selectors 
$('#firstQuestion').innerHTML(''); //Correct 

Вы можете использовать .text()/.html() в JQuery

$('#firstQuestion').html(''); 
$('#firstQuestion').html('MY QUESTION'); 
-1

Ваше Jquery selector недопустимый

$('#firstQuestion').html('<span class="question">MY QUESTION</span>'); 

Вы должны либо использовать # (для идентификаторов) или . для class.

+1

firstQuestion - это идентификатор – Huangism

+0

@Huangism Мой плохой, Под редакцией :). Спасибо. –

3

Вам просто нужно будет предварить ID вашего ID с символом «#», чтобы обозначить матч по ID, а затем вы можете использовать .html() function обрабатывать ваши замены:

//Removes the contents of your element 
$("#firstQuestion").html(''); 

//Updates the contents 
$("#firstQuestion").html("NEW VALUE"); 

Следует отметить, что вы также можете использовать .text() function, однако он не будет форматировать явные теги HTML, если они введены.

+0

Ha! Так что я почти это получил! Приветствия за помощь, отлично работает сейчас. – Daft

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