小编Sco*_*ton的帖子

突出表行

我有一个动态构建的表,最终得到以下代码(带有示例值):

<table id="patientTable" class="display" cellspacing="0" width="100%">
    <thead id="TableHeader">
        <tr>
            <th>Value1</th>
            <th>Value2</th>
            <th>Value3</th>
        </tr>
    </thead>
    <tbody id="tableContent">
        <tr class="clickable row_0" onclick="selectPatient(10001);" id="10001" style="background: #FFF;">
            <td class="tableContent">Value1</td>
            <td class="tableContent">Value2</td>
            <td class="tableContent">Value3</td>
        </tr>
    </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用以下CSS突出显示已经悬停的行:

.clickable :hover {
        background-color: #CCC;
    }
Run Code Online (Sandbox Code Playgroud)

出于某种原因,这会改变" <td>"元素的背景,例如,只会突出显示Value1,Value2或Value3而不是整行.

我试过(无济于事)使用:

.clickable tr:hover {
    background-color: #CCC;
}
.clickable:hover {
    background-color: #CCC;
}
.tr:hover {
    background-color: #CCC;
}
.tr :hover {
    background-color: #CCC;
}
Run Code Online (Sandbox Code Playgroud)

我发现这种不寻常的行为,因为它似乎适用于我见过的每一个其他例子.

值得注意的是:该表是从一个复杂的系统构建的,它基本上执行一个AJAX请求,执行PHP数据库查询,获取值,将它们抛入JSON数组,将它们传递回JS,将数组重新解析为JSON ,循环并创建表,然后输出它.JS会引起这个问题吗?

类名".clickable","row_#"(其中#是一个数字)和表行的ID需要保留,因为它们在将来的函数中使用,并为我提供了一种单独标识每一行的方法.

javascript css

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

HTTP403:禁止-服务器理解了该请求,但拒绝执行该请求

执行对API的AJAX调用时,我不断收到上述403错误。

该错误发生在Microsoft Edge中,但不会发生在IE,Chrome,Firefox或Safari中。

该页面未使用引导程序,因为我已阅读到它可能是由于该页面无法找到所需的.LESS文件所致。我什至尝试包括引导程序,以查看是否可以解决问题-确实没有。

除了上面的一些Twitter Oauth内容和引导程序答案外,我似乎无法通过谷歌搜索找到任何内容-两者均与我的应用程序无关。

如前所述,AJAX调用在任何浏览器(EXCEPT Edge)中都可以正常工作。各种浏览器中的代码完全相同,并且响应/请求标头彼此匹配-因此,POST请求发送的数据不正确的情况(在不同的浏览器默认设置或其他情况下)不存在。

这就是我想要实现的目标:

index.html包含4个包含广告的iFrame。然后,我的Javascript代码获取了iFrame标签,并覆盖了一个大拇指向上/向下图标,用户可以在其中为上述广告提供反馈。AJAX调用将传递广告网址(iFrame src)和用户ID(consumer_id)。然后,在将其写入数据库以记录大拇指向上/向下动作后,它返回一个印象ID。

示例代码:

index.html:

<body>
    <iframe src="https://ad.doubleclick.net/ddm/adi/N4406.154378.CRITEO/B9862737.133255611;sz=728x90;click=http://cat.fr.eu.criteo.com/delivery/ck.php?cppv=1&amp;cpp=ZNbxVXxoRmlURGJwS3JrRUZxTXVnNG83QmlTRUhSNDgzZEFXeEt6Q2VkcXpuTlFXTzBPUytNL0t3QW1NR2hiWXMyU1Jjb0NsTDZZQk8ybzRnajZnZlNodTJKNjhiSW8yaFlPTVBDRUlZQjJ5QVNUQjQrNHd5UEJicEI5OS95NUUxMWVDbGRZamZ4RjZYS1FHam5LQ1dpcENzanhtcEhlckpmOEVuSUhRTllIQnBPazlnMnQ3eWVJcjhOSzRYOXYwOXlqYVFrTnI0eDZJSTBjR1lGM2VUVVloQjd3RlJUcndIQUl3NUpRalY0YXV3Q29SRktKSkFJSktueU0vMVdydko4UzZGSldkbUR1RUR4MTU2a0loamFYZlpiZz09fA%3D%3D&amp;maxdest=;dcopt=anid;ord=f4840e2d31;dc_lat=;dc_rdid=;tag_for_child_directed_treatment=?" width="728" height="90" marginwidth="0" marginheight="0" hspace="0" vspace="0" frameborder="0" scrolling="no" bordercolor="#000000"></iframe>

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
    <script type="text/javascript" src="client.js"></script>
</body>
Run Code Online (Sandbox Code Playgroud)

AJAX电话:

    // This isn't usually a var, but added for clarity. Usually uses a selector 
    // to grab the entire iframe DOM element, and then store in array.    
        var iframe = "http://ad.doubleclick.net/ddm/adi/N4406.154378.CRITEO/B9862737.133255611;sz=728x90;click=http://cat.fr.eu.criteo.com/delivery/ck.php?cppv=1&amp;cpp=ZNbxVXxoRmlURGJwS3JrRUZxTXVnNG83QmlTRUhSNDgzZEFXeEt6Q2VkcXpuTlFXTzBPUytNL0t3QW1NR2hiWXMyU1Jjb0NsTDZZQk8ybzRnajZnZlNodTJKNjhiSW8yaFlPTVBDRUlZQjJ5QVNUQjQrNHd5UEJicEI5OS95NUUxMWVDbGRZamZ4RjZYS1FHam5LQ1dpcENzanhtcEhlckpmOEVuSUhRTllIQnBPazlnMnQ3eWVJcjhOSzRYOXYwOXlqYVFrTnI0eDZJSTBjR1lGM2VUVVloQjd3RlJUcndIQUl3NUpRalY0YXV3Q29SRktKSkFJSktueU0vMVdydko4UzZGSldkbUR1RUR4MTU2a0loamFYZlpiZz09fA%3D%3D&amp;maxdest=;dcopt=anid;ord=f4840e2d31;dc_lat=;dc_rdid=;tag_for_child_directed_treatment=?";

        $.ajax({
            method: 'POST',
            url: 'http://my.api/url/',
            async: false,
            datatype: 'json',
            data: {
                ad_url: iframe, // fetch ad_url from …
Run Code Online (Sandbox Code Playgroud)

javascript ajax http-status-code-403

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

标签 统计

javascript ×2

ajax ×1

css ×1

http-status-code-403 ×1