2

这是 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>

也许是这样的...

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

4 回答 4

4

首先,您需要确定您正在与哪个父母一起工作。在这个例子中,我选择了firstQuestiondiv。然后我扩展了选择器以定位 child span,其类名为“question”。一旦你有了 span 元素,使用 jQuery 的text()函数来更新它的内容(如果你只是用新的文本来更新它):

$('#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>');
于 2013-08-29T15:23:38.923 回答
3

您只需要在您的 ID 的 ID 前面加上“#”符号来表示 ID 匹配,然后您可以使用.html() 函数来处理您的替换:

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

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

应该注意的是,您也可以使用.text() 函数,但是如果输入了显式 HTML 标记,它将不会格式化它们。

于 2013-08-29T15:24:15.333 回答
0
$('firstQuestion').innerhtml('');  //WRONG and missed # for id selectors
$('#firstQuestion').innerHTML('');  //Correct

您可以在 jQuery中使用.text()/.html()

$('#firstQuestion').html('');
$('#firstQuestion').html('MY QUESTION');
于 2013-08-29T15:23:32.117 回答
-1

您的Jquery 选择器无效

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

您应该使用#(for ID's) 或. for class.

于 2013-08-29T15:24:09.500 回答