所以我有一个脚本可以将一个完整的地址块放在我选择的字段中,但是现在我正在尝试消除生成的文本块中不需要的部分以供显示。
代码:
<script>
Sys.Application.add_load(
function SetShipInfoValue()
{
var obj = document.getElementById("StepArea_UpdatePanelAddressBlock");
if(obj == null)
{
var y = document.getElementsByClassName('ShippingAddressBlock');
obj = y[0];
}
if(obj != null)
{
var txt = obj.innerHTML;
var obj2 = document.getElementById("FIELD_1841");
if(obj2 != null)
{
obj2.value = txt;
}
}
});
</script>
结果:
<div class="ShippingAddressBlock">
<div>Store 169</div>
<div>General Manager</div>
<div>1740 East Rd</div>
<div></div>
<div>Santa Clara, CA 92705</div>
<div></div>
<div></div>
<div>169</div>
</div>
如何从结果中消除文本行,只显示JS中的商店编号?
答案 0 :(得分:0)
您可以通过从.children
获取最后一个孩子来完成此操作:
var ele = document.getElementsByClassName("ShippingAddressBlock")[0];
console.log(ele.children[ele.children.length-1].innerHTML); // 169
<div class="ShippingAddressBlock">
<div>Store 169</div>
<div>General Manager</div>
<div>1740 East Rd</div>
<div></div>
<div>Santa Clara, CA 92705</div>
<div></div>
<div></div>
<div>169</div>
</div>
您也可以使用:
console.log(ele.lastChild.previousSibling.innerHTML);
旧版浏览器支持哪种版本。
答案 1 :(得分:0)
您可以像这样https://jsfiddle.net/DIRTY_SMITH/em0z4p84/2/
使用Jquery过滤器<div class="ShippingAddressBlock">
<div>Store 169</div>
<div>General Manager</div>
<div>1740 East Rd</div>
<div></div>
<div>Santa Clara, CA 92705</div>
<div></div>
<div></div>
<div>169</div>
</div>
<script>
$(".ShippingAddressBlock > div").filter(function(index) {
if (index === 0) {
$(this).attr('id', 'show');
}
});
</script>
CSS
.ShippingAddressBlock > div {
display: none;
}
.ShippingAddressBlock > #show {
display: inline;
}