簡體   English   中英

Javascript查找並替換dom字符串

[英]Javascript find and replace dom string

我想使用javascript的replace方法來替換一些html字符串。 我通過獲取 .outerHTML 存儲了一個 dom 字符串,並想用該字符串替換一個特定的單詞。 這是我用javascript獲取的outerHTML dom:

<figure class="image" onclick="someMethod('btbjwkjpuynyzdijsvf5.jpg', 'Title','$caption', 'image','other params')">
    <img id="45435435345" src="btbjwkjpuynyzdijsvf5.jpg" caption="$caption" title="title">
    <figcaption>$caption</figcaption>
</figure>

這是想用我稍后從數據庫中獲取的真實標題替換所有 $caption 。 但這是行不通的。 我嘗試在瀏覽器控制台上將此字符串存儲在變量上,但它在單引號(在函數參數中可用)后給出錯誤。 所以我認為它存在無法識別的字符串值的問題。 我該如何解決這個問題,以便我可以從字符串中替換 $caption 值。

這不是一個好的做法,但您可以使用 javascript 模板引擎

 $("#myDiv").html($("#myDiv").html().replace(/\\$caption/g,'My caption'));
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="myDiv"> <figure class="image" onclick="someMethod('btbjwkjpuynyzdijsvf5.jpg', 'Title','$caption', 'image','other params')"> <img id="45435435345" src="btbjwkjpuynyzdijsvf5.jpg" caption="$caption" title="title"> <figcaption>$caption</figcaption> </figure> </div>

我會使用屬性選擇器

$("[caption]").attr("caption", myCaptionText)

你當然應該更具體一點,這樣你就不會覆蓋標題屬性的每個實例

$(".specificParent [caption]").attr("caption", myCaptionText)

暫無
暫無

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

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