我有一些重复的代码,如下所示,我想删除重复的代码,以实现“DRY”(不要重复自己)原则。任何人都可以帮助我,将不胜感激!
Javascript代码如下:
<script type="text/javascript">
$(document).ready(function () {
$(".adjustLineFeedProductName").ready(function () {
var str = "";
for (i = 0; i < $(".adjustLineFeedProductName").html().length; i += 66) {
str = str + "<p style=\"margin: 0px 0px 0px 0px;\">" + $(".adjustLineFeedProductName").html().substring(i, i + 66) + "</p>";
}
$(".adjustLineFeedProductName").html(str);
});
$(".adjustLineFeedQuantityPerUnit").ready(function () {
var str = "";
for (i = 0; i < $(".adjustLineFeedQuantityPerUnit").html().length; i += 66) {
str = str + "<p style=\"margin: 0px 0px 0px 0px;\">" + $(".adjustLineFeedQuantityPerUnit").html().substring(i, i + 66) + "</p>";
}
$(".adjustLineFeedQuantityPerUnit").html(str);
});
});
</script>
html代码如下:
<div class="elaborate" style="margin: 0px 0px 0px 0px; padding: 0px 0px 3px 10px;"><b class="adjustLineFeedProductName"><%: (string)Model.Product.ProductName %></b></div>
<div class="elaborate" style="margin: 0px 0px 0px 0px; padding: 3px 0px 0px 10px;"><span class="adjustLineFeedQuantityPerUnit">Quantity/Unit : <%: (string)Model.Product.QuantityPerUnit %></span></div>
我想使用下面的 Javascript 来代替上面的 Javascript,但它不起作用:
<script type="text/javascript">
$(document).ready(function () {
$(".adjustLineFeed").ready(function () {
var str = "";
for (i = 0; i < this.html().length; i += 66) {
str = str + "<p style=\"margin: 0px 0px 0px 0px;\">" + this.html().substring(i, i + 66) + "</p>";
}
this.html(str);
});
});
</script>
我尝试使用下面的 html 代码而不是上面的 html 代码,但它不起作用:
<div class="elaborate" style="margin: 0px 0px 0px 0px; padding: 0px 0px 3px 10px;"><b class="adjustLineFeed"><%: (string)Model.Product.ProductName %></b></div>
<div class="elaborate" style="margin: 0px 0px 0px 0px; padding: 3px 0px 0px 10px;"><span class="adjustLineFeed">Quantity/Unit : <%: (string)Model.Product.QuantityPerUnit %></span></div>