簡體   English   中英

通過單擊跨度替換div中的段落中的文本

[英]Replace text in paragraph in div by clicking on a span

我想通過單擊頁面底部的假“鏈接”(跨度)來將一段文本更改為其他文本。

我到目前為止所擁有的

<body>
  <p> here is a paragraph that i would like to change once the span below me is clicked </p> 
  <span id="click"> click me for the text above me to change </span>
  </center> 
</body>
<script>
  $( "click" ).click(function() {
    $( "p" ).replaceWith( "new paragraph" );
  });
</script>

我真的是jquery和javascript的新手,所以將不勝感激! 謝謝。

第一:要使用ID,請使用

第二個:要獲取上一個元素,請使用.prev() .. $(this).prev('p')

<script>
$( "#click" ).click(function() {
    $(this).prev( "p" ).replaceWith( "<p>new paragraph</p>" );
});
</script>

注意:id必須是唯一的,因此不要對多個元素使用相同的id,因此請嘗試使用class代替<span class="click"> ,然后使用$('.click')代替$('#click')

第三:您的代碼中</center>應該做什么?

第四:您應該檢查是否包含jquery

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>

第五:在關閉正文標簽之前放置腳本

完整的代碼

<body>
  <p> here is a paragraph that i would like to change once the span below me is clicked </p> 
  <span id="click"> click me for the text above me to change </span>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>
 $(docuemt).ready(function(){
  $( "#click" ).click(function() {
    $(this).prev( "p" ).replaceWith( "<p>new paragraph</p>" );
  });
 });
</script>
</body>

把img而不是段落使用

$(this).prev( "p" ).replaceWith('<img src="http://placehold.it/350x150">');

將img放在段落中

$(this).prev( "p" ).html( 'new paragraph<img src="http://placehold.it/350x150">' );

$( "click" )應該是$( "#click" )

實際上,您不需要replaceWith() 您可以只使用text()更改文本。

$( "#click" ).click(function() {
    $( "p" ).text( "new paragraph");
  });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM