解決策は機能していましたが、今日の午後、サーバーが実際にクラッシュしました。残念ながら、作業コードをチェックインしませんでした。その日の早い段階で StackOverflow の助けを借りてコードを機能させ、以前の投稿の回答を使用しましたが、機能しなくなりました。=(
いずれかの方法。私がやろうとしていたのは、テキストが含まれているラベルを見つけて、その要素に ID を割り当てることでした。
HTMLは次のとおりです。
<DT>change me dynamically</DT>
<DD>
<input class=" text" type="text" name="contact_details" value="" id="contact_details" >
<P CLASS="descr"></P>
</DD>
クエリを介してこのコードに対してやりたいことは、次のようにすることです。
<DT id="contactTypeLabel">Phone Number</DT>
<DD>
<input class=" text" type="text" name="contact_details" value="" id="contact_details" >
<P CLASS="descr"></P>
</DD>
以前使用していたコードは次のとおりです。
$('body >DT:contains("change me dynamically")').contents().each(function () {
var exp = /change me dynamically/;
alert("nodevalue is:" + this.nodeValue);
if (this.nodeValue && exp.test(this.nodeValue)) {
var $parent = $(this).parent().attr('id', 'contactTypeLabel');
$parent.text(function(_, text){
return text.replace(exp, "Phone Number");
});
}
});
アラートは発生しません。これを行って検索を広げると:
$('body :contains("change me dynamically")').contents().each(function () {
その後、多数の警告ステートメントが表示されます。しかし、実際には、「動的に変更してください」というテキストを含む要素は 1 つしかありません。
以前私を助けてくれた人たちに申し訳ありません。以前のメモをすべて確認しようとしましたが、バグが見つからないようです。大変な一日だったし、私はかなり嫌がらせを受けているので、単純なことを見落としているのかもしれません。
ありがとう。