【问题标题】:Javascript can't find ID of div inside user controlJavascript 在用户控件中找不到 div 的 ID
【发布时间】:2013-05-21 07:55:30
【问题描述】:

我将 coda 滑块放在用户控件(ascx 文件)中,它在测试页面上运行良好。

但是,当我将相同的用户控件放在基于母版页的测试页的内容占位符中时,它会停止正常工作。现在看来,javascript 函数无法正确识别 DIV 的 ID,因为它位于内容占位符内。我已经阅读了一些其他链接,但它们的情况似乎略有不同,我尝试使用 document.getElementById,但不确定我是否走在正确的轨道上,或者只是弄乱了语法。我也试过把 ct100_cpMC_ 放在 id 前面。

<%@ Page Title="TestPage - Test User Control" Language="C#" MasterPageFile="MasterPage.master" AutoEventWireup="true" CodeFile="TestPage.aspx.cs" Inherits="_TestPage" %>

<%@ Register Src="~/UserControls/WhatCustomersAreSaying.ascx" TagPrefix="uc1" TagName="WhatCustomersAreSaying" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
  <link rel="stylesheet" type="text/css" media="screen" href="css/coda-slider.css" />
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
  <script src="js/jquery.easing.1.3.js"></script>
  <script src="js/jquery.coda-slider-3.0.min.js"></script>

<script>
     $(function () {

         $('#slider-id').codaSlider({
               autoSlide:true,
               autoHeight:false
         });
     });
</script> 
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="cpMC" Runat="Server">

    <uc1:WhatCustomersAreSaying runat="server" ID="WhatCustomersAreSaying" />

</asp:Content>

在我的用户控件内部是一个 ID 为“slider-id”的 DIV,javascript 函数需要找到它。

正如我之前提到的,我不确定是否需要使用 document.getElementById 以及如何使用,或者是否有一种更简单的方法,即在引号 $('#slider-id') 中为 ID 添加一些内容,以便 javascript 函数知道它要查找的 ID 在内容占位符中。

【问题讨论】:

  • 试试$("div[id*='slider-id']")
  • 这项技术对我不起作用,结果和以前一样。所有 div 的所有内容都显示出来了,基本上滑块没有正常工作。
  • 运行你的aspx页面;在浏览器中检查源(CTRL+U);检查生成的滑块id; 真的 slider-id吗?
  • 我查了来源,就是ID。
    ,但 DIV 在用户控件内,而 javascript 在父页面内。当我使用未使用母版页的测试页时,一切正常
  • 让我们从一个清单开始:页面中是否有任何 JavaScript 错误?文档就绪功能是否触发? document.get.elementById('') 是否返回 undefined

标签: javascript asp.net user-controls contentplaceholder coda-slider


【解决方案1】:

我有一个朋友帮助我,这很有效。我知道我需要 (document).ready 但语法不正确。这就是解决我的问题的原因,

<script>

$(document).ready(function ($) {
         $('#slider-id').codaSlider({
             autoSlide:true,
             autoHeight:false
         });
     });
</script>

【讨论】:

猜你喜欢
相关资源
最近更新 更多
热门标签