小编Rus*_*Cam的帖子

JavaScript - 使用childNodes遍历HTML DOM会导致非IE浏览器出错

我在浏览器中呈现了下表.它是从服务器端生成的.

<table id="tblQuestions" class="tblQuestionsContainer" border="0">
    <tr>
        <td id="1" class="tdQuestion">Are u an indian citizen ?</td>
    </tr><tr>
        <td><table id="answer-1" border="0">
            <tr>
                <td><input id="answer-1_0" type="radio" name="answer-1" value="1" /><label for="answer-1_0">Yes</label></td><td><input id="answer-1_1" type="radio" name="answer-1" value="0" /><label for="answer-1_1">No</label></td>
            </tr>
        </table></td>
    </tr><tr>
        <td id="2" class="tdQuestion">Do you have a passport ?</td>
    </tr><tr>
        <td><table id="answer-2" border="0">
            <tr>
                <td><input id="answer-2_0" type="radio" name="answer-2" value="1" /><label for="answer-2_0">Yes</label></td><td><input id="answer-2_1" type="radio" name="answer-2" value="0" /><label for="answer-2_1">No</label></td>
            </tr>
        </table></td>
    </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

现在我在JavaScript中使用以下代码来验证单选按钮的已检查状态.

 var tblQuestionBoard=document.getElementById("tblQuestions");
  tblAnswer = tblQuestionBoard.rows[1].childNodes[0].childNodes[0]
Run Code Online (Sandbox Code Playgroud)

现在tblAnswer应该是一个具有id为"answer-1"的表的对象

在IE中,我得到它.但是在Mozilla和其他浏览器中,我认为它是未定义的.

怎么解决这个?

html javascript dom

2
推荐指数
1
解决办法
1万
查看次数

jquery和选择器

我想在body标签上有一个click事件,但是我在body标签下面有一个div,我不想让click事件打开.我尝试过这个,但是这样做似乎是正确的:

$("body").not("#InnerDiv").click(function() {
    alert("Hejhej");
});
Run Code Online (Sandbox Code Playgroud)

html:

<body>
   <div id="1">1</div>
   <div id="2">2</div>
   <div id="InnerDiv">InnerDiv</div>
</body>
Run Code Online (Sandbox Code Playgroud)

jquery css-selectors

2
推荐指数
1
解决办法
113
查看次数

元字符是什么,'?' 比赛?

我研究过,我知道'?' 如果匹配函数中的结果发生0或1次,则用于匹配.不幸的是,我无法找到一个明确的例子'究竟是什么'?' 火柴.

干杯.

regex perl

2
推荐指数
2
解决办法
204
查看次数

避免嵌套for循环python

我有一个函数,它接受表达式并将变量替换为我用作输入的值的所有排列。这是我已经测试并可以正常工作的代码,但是,在仔细研究了SO之后,人们说嵌套的for循环是一个坏主意,但是我不确定如何提高效率。有人可以帮忙吗?谢谢。

def replaceVar(expression):

    eval_list = list()

    a = [1, 8, 12, 13]
    b = [1, 2, 3, 4]
    c = [5, 9, 2, 7]

    for i in expression:
        first_eval = [i.replace("a", str(j)) for j in a]
        tmp = list()
        for k in first_eval:
            snd_eval = [k.replace("b", str(l)) for l in b]
            tmp2 = list()
            for m in snd_eval:
                trd_eval = [m.replace("c", str(n)) for n in c]
                tmp2.append(trd_eval)
            tmp.append(tmp2)
        eval_list.append(tmp)
    print(eval_list)
    return eval_list

print(replaceVar(['b-16+(c-(a+11))', 'a-(c-5)+a-b-10']))
Run Code Online (Sandbox Code Playgroud)

python loops for-loop nested

2
推荐指数
3
解决办法
3331
查看次数

如何过滤掉多余的模型属性

我有一个像这样的 DTO 对象:

export class CreateProductDTO {
  readonly _id: number;
  readonly _name: string;
  readonly _price: number;
}
Run Code Online (Sandbox Code Playgroud)

我的 post 方法中使用了 DTO

@Post('users')
async addUser(@Response() res, @Body(new ValidationPipe()) createUserDTO: CreateUserDTO) {
    await this.userService.addUser(createUserDTO).subscribe((users) => {
        res.status(HttpStatus.OK).json(users);
    });
}
Run Code Online (Sandbox Code Playgroud)

当我发布 json 数据时,它将序列化为 CreateProduceDTO obcjet

{
  "_id":1,
  "_name":"Lux",
  "_age":19
}
Run Code Online (Sandbox Code Playgroud)

但我发布带有多余属性的 json 数据,它也序列化为带有多余属性的 CreateProduceDTO obcjet

{
  "_id":1,
  "_name":"Lux",
  "_age":19,
  "test":"abcv"
}

CreateUserDTO { _id: 1, _name: 'Lux', _age: 19, test: 'abcv' }
Run Code Online (Sandbox Code Playgroud)

我曾尝试用管道过滤它,但我不知道。谢谢大家。

node.js typescript nestjs

2
推荐指数
1
解决办法
3138
查看次数

保存/缓存存储过程可以获得更好的性能吗?(SQL Server 2005)

我有一个SP已经在我的2个人上工作,现在还需要2分钟或更长时间才能运行.有没有办法让这些预先运行并存储在缓存或其他地方,所以当我的客户需要在网络浏览器中查看这些数据时,他不想挂起自己或我?

我不是在DBA附近的地方,所以我很乐意接受我的雇主为我解决这个问题,所以预先掌握一点知识对我有帮助.

sql-server sql-server-2005

1
推荐指数
1
解决办法
6902
查看次数

FormsAuthentication.RedirectFromLoginPage无效

我正在使用LoginPage.Everything与数据库或C#代码相关的工作正常但在成功登录后我无法重定向到Home.aspx,我错过了什么?请帮忙. 码:

Web.Config中:

</authentication>
<authorization>
  <deny users="*"/>

</authorization>
Run Code Online (Sandbox Code Playgroud)

C#代码:

protected void Button1_Click(object sender, EventArgs e)
    {
        string source = "server=localhost\\sqlexpress;Database=LogInDB;Trusted_Connection=True";
        SqlConnection con = new SqlConnection(source);
        con.Open();
        SqlCommand cmd = new SqlCommand("proc_LogIn", con);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.Add("@ID", SqlDbType.Int).Value = TextBox1.Text;
        cmd.Parameters.Add("@Password", SqlDbType.VarChar).Value = TextBox2.Text;
        SqlDataReader dr = cmd.ExecuteReader();
        if (dr.Read())
        {
            FormsAuthentication.RedirectFromLoginPage(TextBox1.Text, false);
                    }
        else
        {
            Response.Write("Invalid credentials");
        }

    }
Run Code Online (Sandbox Code Playgroud)

asp.net

1
推荐指数
1
解决办法
9171
查看次数

在ASP.NET 2.0中发送电子邮件

我试图实现发送mail.i的代码尝试了以下过程.

组态

<configuration>
  <!-- Add the email settings to the <system.net> element -->
  <system.net>
    <mailSettings>
      <smtp>
        <network 
             host="localhost" 
             port="25"
             userName="?"
             password="?" />
      </smtp>
    </mailSettings>
  </system.net>
Run Code Online (Sandbox Code Playgroud)

HTML

<table border="0">
    <tr>
        <td><b>Your Email:</b></td>
        <td><asp:TextBox runat="server" ID="UsersEmail" Columns="30"></asp:TextBox></td>
    </tr>
    <tr>
        <td><b>Subject:</b></td>
        <td><asp:TextBox runat="server" ID="Subject" Columns="30"></asp:TextBox></td>
    </tr>
    <tr>
        <td colspan="2">
            <b>Body:</b><br />
            <asp:TextBox runat="server" ID="Body" TextMode="MultiLine" Columns="55" Rows="10"></asp:TextBox>
        </td>
    </tr>
    <tr>
        <td colspan="2" align="center">
            <asp:Button runat="server" ID="SendEmail" Text="Send Feedback" />
        </td>
    </tr>
</table> 
Run Code Online (Sandbox Code Playgroud)

代码隐藏

protected Sub SendEmail_Click(ByVal sender As Object, ByVal e As System.EventArgs) …
Run Code Online (Sandbox Code Playgroud)

asp.net

1
推荐指数
1
解决办法
867
查看次数

带有NEST的Elasticsearch批量插入返回es_rejected_execution_exception

我正在尝试使用.Net APIin 进行批量插入Elasticsearch,这是我在执行操作时得到的错误;

Error   {Type: es_rejected_execution_exception Reason: "rejected execution of org.elasticsearch.transport.TransportService$6@604b47a4 on EsThreadPoolExecutor[bulk, queue capacity = 50, org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor@51f4f734[Running, pool size = 4, active threads = 4, queued tasks = 50, completed tasks = 164]]" CausedBy: ""}   Nest.BulkError
Run Code Online (Sandbox Code Playgroud)

是因为我的系统空间不足还是批量插入功能本身不起作用?我的NEST版本是5.0,Elasticsearch版本也是5.0.

批量插入逻辑的代码;

public void bulkInsert(List<BaseData> recordList, List<String> listOfIndexName) {
    BulkDescriptor descriptor = new BulkDescriptor();            
    foreach (var j in Enumerable.Range(0, recordList.Count)) {
        descriptor.Index<BaseData>(op => op.Document(recordList[j])
                                           .Index(listOfIndexName[j]));
    }
    var result = clientConnection.Bulk(descriptor);
}
Run Code Online (Sandbox Code Playgroud)

bulkinsert elasticsearch nest

1
推荐指数
1
解决办法
1416
查看次数

如何计算嵌套对象的深度?

我有一个嵌套对象的示例数组:

let arr = [{id: 0, children: []},
           {id: 1, children:[
             {id: 2, children: []},
             {id: 3, children: [
               {id: 4, children: []} 
             ]}
           ]}
         ];
Run Code Online (Sandbox Code Playgroud)

我需要计算每个对象的深度级别。在所有对象中我也有一个parentId 属性。

结果应该是:

let arr = [{id: 0, depth: 0, children: []},
           {id: 1, depth: 0, children:[
             {id: 2, depth: 1, children: []},
             {id: 3, depth: 1, children: [
               {id: 4, depth: 2, children: []} 
             ]}
           ]}
         ];
Run Code Online (Sandbox Code Playgroud)

我也有一个平面结构中所有对象的数组。

解决方案?

javascript nested object depth

1
推荐指数
1
解决办法
7590
查看次数