gpt4 book ai didi

javascript - ASP自定义控件-如何在JS/jQuery中获取子控件

转载 作者:行者123 更新时间:2023-11-28 06:38:27 25 4
gpt4 key购买 nike

在我的应用程序中,我有很多相同的 HTML block ,因此我不想重复它们。

我发现我可以选择一段 HTML 代码并选择提取到用户控件选项。

它创建了一个.ascx文件内容如下:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="div_field.ascx.cs" Inherits="Obipoly.layout.div_field" %>

<div class="field">
<div class="status_bar">
<div class="hotel_placeholder">
<div class="house_placeholder"></div>
<div class="house_placeholder"></div>
<div class="house_placeholder"></div>
<div class="house_placeholder"></div>
</div>
<div class="players_container">
<div class="player_placeholder"></div>
<div class="player_placeholder"></div>
<div class="player_placeholder"></div>
<div class="player_placeholder"></div>
</div>
</div>
<div class="field_name"></div>
<div class="field_image"></div>
<div class="field_price"></div>
<div class="field_owner"></div>
</div>

我现在可以在我的 .aspx 文件中使用此 block :

<uc1:div_field runat="server" ID="field39" />

现在我需要迭代我的元素(id=field0、id=field1...)并更改一些数据。

如何获取每个元素的引用并找到其中的每个子元素?

我尝试过:

for (var i = 0; i < 40; ++i) {
var fieldId = "#field" + i.toString();
var field = $(fieldId);
alert(field); //displays object Object
field.find(".field_name").append($("<p/>", {
text: i
}))
}

但是什么也没发生。我不确定我是否可以做到

var field = $(fieldId);

就好像我的元素是一个普通的 html 标签。

如果想找到与其他元素共享同一类的元素怎么办,例如我想获得第三<div>player_placeholder类并给它一个唯一的 id?

或者唯一的方法是在运行时使用 JavaScript 创建所有元素?

谢谢。

PS。我无法获取任何字段的原因是在我的 DOM 中我只有控制主体。我以为我会:

<div id="field20">
<div class="field">
...
</div>
</div>

但实际上是:

<div class="field">
...
</div>

最佳答案

这里的问题是,如果您要检查 asp.net 为您创建的 ID,它不会是 field39,而是某种自定义 ID,但是您可以使用 ClientIDMode 覆盖此行为

<uc1:div_field runat="server" ID="field39" ClientIDMode="static" />

关于javascript - ASP自定义控件-如何在JS/jQuery中获取子控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34060585/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com