如何同时替换 <br></br> 和删除 href 属性?
How I do replace <br></br> and remove href attribute at the same time?
我正在使用 WHMCS(拥有许可但没有品牌),但是我想稍微更改一下布局。我要更改的部分是 IONcube 编码的,所以我必须依靠 Javascript(甚至 DOM?)来进行这些更改。
ID名称是:ClientAreaHomePagePanels-Active_Products_Services-0
它的范围从 0 到客户拥有的产品数量。
从那个 ID 我想将显示的 <br></br>
更改为 {$LANG.gekoppeldaan}
其次;我还想从同一个 ID 中删除 href 标签,因为我们不使用它指向的那些页面。
我已经通过使用
替换 <br></br>
取得了一些成功
<script>
$(function() {
$('#ClientAreaHomePagePanels-Active_Products_Services-0 br').replaceWith(' {$LANG.gekoppeldaan} ');
$('#ClientAreaHomePagePanels-Active_Products_Services-1 br').replaceWith(' {$LANG.gekoppeldaan} ');
$('#ClientAreaHomePagePanels-Active_Products_Services-2 br').replaceWith(' {$LANG.gekoppeldaan} ');
$('#ClientAreaHomePagePanels-Active_Products_Services-3 br').replaceWith(' {$LANG.gekoppeldaan} ');
$('#ClientAreaHomePagePanels-Active_Products_Services-4 br').replaceWith(' {$LANG.gekoppeldaan} ');
$('#ClientAreaHomePagePanels-Active_Products_Services-5 br').replaceWith(' {$LANG.gekoppeldaan} ');
$('#ClientAreaHomePagePanels-Active_Products_Services-6 br').replaceWith(' {$LANG.gekoppeldaan} ');
$('#ClientAreaHomePagePanels-Active_Products_Services-7 br').replaceWith(' {$LANG.gekoppeldaan} ');
$('#ClientAreaHomePagePanels-Active_Products_Services-8 br').replaceWith(' {$LANG.gekoppeldaan} ');
$('#ClientAreaHomePagePanels-Active_Products_Services-9 br').replaceWith(' {$LANG.gekoppeldaan} ');
$('#ClientAreaHomePagePanels-Active_Products_Services-10 br').replaceWith(' {$LANG.gekoppeldaan} ');
});
</script>
我有点怀疑这是一个 "clean" 的方法,如果客户有超过 100 种产品,我必须创建其中的 100 行。这不是很干净。
我还没有尝试删除 href 标签,只是因为我不知道如何。
所以我的问题是,有人可以提供某种干净的代码来替换所有
<br></br>
用 {$LANG.gekoppeldaan}
为所有当前和即将到来的 ID 调用 ClientAreaHomePagePanels-Active_Products_Services-0
,同时从中删除 href tag/url。
如上所述,客户每拥有一个产品,ID ClientAreaHomePagePanels-Active_Products_Services-0
就会增加一个。所以不是手动添加这些,必须有一种自动的方式,对吧?也许通过 javascript and/or DOM.
希望我说得足够清楚了。
//更新
多亏了 Andreas(评论)和 Axel,我才让它运行起来!非常感谢。
我用过这个:
<script>
$('[id^="ClientAreaHomePagePanels-Active_Products_Services-"] br').replaceWith(" {$LANG.gekoppeldaan} ");
$('[id^="ClientAreaHomePagePanels-Active_Products_Services-"]').removeAttr('href');
</script>
向所有这些条目添加一个额外的空 class:
<... id="ClientAreaHomePagePanels-Active_Products_Services-0"
class="ClientAreaHomePagePanels-Active_Products_Services" .... />
使用 jQuery 每个迭代器:
$('.ClientAreaHomePagePanels-Active_Products_Services br').each(function(index, elem) {
$(elem).replaceWith(' {$LANG.gekoppeldaan} ');
$(elem).removeAttr('href');
};
注意 .Client...
选择器,它会找到 class 的所有元素,无论有多少
我想你有锚..
$( "a[id*='ClientAreaHomePagePanels-Active_Products_Services-']" ).each( function( index, element ){
$(element).prepend(' {$LANG.gekoppeldaan} ');
var kiddos = $(element).children("br");
if (kiddos != undefined)
{
kiddos[0].remove();
if (kiddos.length > 1)
kiddos[1].remove();
}
$(element).removeAttr('href');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<a id="ClientAreaHomePagePanels-Active_Products_Services-1" href="#">
<br>
</br>
<img src="http://t2.gstatic.com/images?q=tbn:ANd9GcQhud2eyWOjWo44aQhYedOM7GCl4rUbNxx_UpGtb2x_t04DU9qI" width=650px" />
</a>
<a id="ClientAreaHomePagePanels-Active_Products_Services-2" href="#">
<br>
</br>
<img src="http://t2.gstatic.com/images?q=tbn:ANd9GcQhud2eyWOjWo44aQhYedOM7GCl4rUbNxx_UpGtb2x_t04DU9qI" width=650px" />
</a>
<a id="ClientAreaHomePagePanels-Active_Products_Services-3" href="#">
</br>
<br>
<img src="http://t2.gstatic.com/images?q=tbn:ANd9GcQhud2eyWOjWo44aQhYedOM7GCl4rUbNxx_UpGtb2x_t04DU9qI" width=650px" />
</a>
添加更多细节,如果你使用下划线或一些依赖注入,你会遇到一些问题。
我正在使用 WHMCS(拥有许可但没有品牌),但是我想稍微更改一下布局。我要更改的部分是 IONcube 编码的,所以我必须依靠 Javascript(甚至 DOM?)来进行这些更改。
ID名称是:ClientAreaHomePagePanels-Active_Products_Services-0
它的范围从 0 到客户拥有的产品数量。
从那个 ID 我想将显示的 <br></br>
更改为 {$LANG.gekoppeldaan}
其次;我还想从同一个 ID 中删除 href 标签,因为我们不使用它指向的那些页面。
我已经通过使用
替换<br></br>
取得了一些成功
<script>
$(function() {
$('#ClientAreaHomePagePanels-Active_Products_Services-0 br').replaceWith(' {$LANG.gekoppeldaan} ');
$('#ClientAreaHomePagePanels-Active_Products_Services-1 br').replaceWith(' {$LANG.gekoppeldaan} ');
$('#ClientAreaHomePagePanels-Active_Products_Services-2 br').replaceWith(' {$LANG.gekoppeldaan} ');
$('#ClientAreaHomePagePanels-Active_Products_Services-3 br').replaceWith(' {$LANG.gekoppeldaan} ');
$('#ClientAreaHomePagePanels-Active_Products_Services-4 br').replaceWith(' {$LANG.gekoppeldaan} ');
$('#ClientAreaHomePagePanels-Active_Products_Services-5 br').replaceWith(' {$LANG.gekoppeldaan} ');
$('#ClientAreaHomePagePanels-Active_Products_Services-6 br').replaceWith(' {$LANG.gekoppeldaan} ');
$('#ClientAreaHomePagePanels-Active_Products_Services-7 br').replaceWith(' {$LANG.gekoppeldaan} ');
$('#ClientAreaHomePagePanels-Active_Products_Services-8 br').replaceWith(' {$LANG.gekoppeldaan} ');
$('#ClientAreaHomePagePanels-Active_Products_Services-9 br').replaceWith(' {$LANG.gekoppeldaan} ');
$('#ClientAreaHomePagePanels-Active_Products_Services-10 br').replaceWith(' {$LANG.gekoppeldaan} ');
});
</script>
我有点怀疑这是一个 "clean" 的方法,如果客户有超过 100 种产品,我必须创建其中的 100 行。这不是很干净。
我还没有尝试删除 href 标签,只是因为我不知道如何。
所以我的问题是,有人可以提供某种干净的代码来替换所有
<br></br>
用 {$LANG.gekoppeldaan}
为所有当前和即将到来的 ID 调用 ClientAreaHomePagePanels-Active_Products_Services-0
,同时从中删除 href tag/url。
如上所述,客户每拥有一个产品,ID ClientAreaHomePagePanels-Active_Products_Services-0
就会增加一个。所以不是手动添加这些,必须有一种自动的方式,对吧?也许通过 javascript and/or DOM.
希望我说得足够清楚了。
//更新
多亏了 Andreas(评论)和 Axel,我才让它运行起来!非常感谢。
我用过这个:
<script>
$('[id^="ClientAreaHomePagePanels-Active_Products_Services-"] br').replaceWith(" {$LANG.gekoppeldaan} ");
$('[id^="ClientAreaHomePagePanels-Active_Products_Services-"]').removeAttr('href');
</script>
向所有这些条目添加一个额外的空 class:
<... id="ClientAreaHomePagePanels-Active_Products_Services-0"
class="ClientAreaHomePagePanels-Active_Products_Services" .... />
使用 jQuery 每个迭代器:
$('.ClientAreaHomePagePanels-Active_Products_Services br').each(function(index, elem) {
$(elem).replaceWith(' {$LANG.gekoppeldaan} ');
$(elem).removeAttr('href');
};
注意 .Client...
选择器,它会找到 class 的所有元素,无论有多少
我想你有锚..
$( "a[id*='ClientAreaHomePagePanels-Active_Products_Services-']" ).each( function( index, element ){
$(element).prepend(' {$LANG.gekoppeldaan} ');
var kiddos = $(element).children("br");
if (kiddos != undefined)
{
kiddos[0].remove();
if (kiddos.length > 1)
kiddos[1].remove();
}
$(element).removeAttr('href');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<a id="ClientAreaHomePagePanels-Active_Products_Services-1" href="#">
<br>
</br>
<img src="http://t2.gstatic.com/images?q=tbn:ANd9GcQhud2eyWOjWo44aQhYedOM7GCl4rUbNxx_UpGtb2x_t04DU9qI" width=650px" />
</a>
<a id="ClientAreaHomePagePanels-Active_Products_Services-2" href="#">
<br>
</br>
<img src="http://t2.gstatic.com/images?q=tbn:ANd9GcQhud2eyWOjWo44aQhYedOM7GCl4rUbNxx_UpGtb2x_t04DU9qI" width=650px" />
</a>
<a id="ClientAreaHomePagePanels-Active_Products_Services-3" href="#">
</br>
<br>
<img src="http://t2.gstatic.com/images?q=tbn:ANd9GcQhud2eyWOjWo44aQhYedOM7GCl4rUbNxx_UpGtb2x_t04DU9qI" width=650px" />
</a>
添加更多细节,如果你使用下划线或一些依赖注入,你会遇到一些问题。