我创建了一个带有append()
的按钮var $itembtn = $('<figure data-groups=\'["'+ group +'"]\'>
<button class="loadmorebtn" id="'+ group +'">Load more items '+ group +'</button>
</figure>');
$grid.append($itembtn);
按钮被创建。
<button id="graphics" class="loadmorebtn">Load more items graphics</button>
之后我想得到它的身份。
function() {
$('.loadmorebtn').on('click', function() {
alert(this.id);
},
ID为空。
如果按钮直接放在html中就可以了。
答案 0 :(得分:1)
试试这个:
JQUERY .on() METHOD
如上所述,该按钮是动态追加的字段。
在初始加载期间不在DOM中,这就是为什么你无法获得id。
您应该使用jQuery .on() 方法来获取ID。
$(document).ready(function(){
$('body').on('click','.loadmorebtn',function(). {
alert($(this).attr('id'));
});
});
你也可以使用alert(this.id);
希望这有用。
答案 1 :(得分:1)
该按钮被动态添加到DOM。您需要使用事件委派。
static void handleCUDAError(cudaError_t err, const char *file, int line)
{
if (err != cudaSuccess) {
printf("%s in %s at line %d\n", cudaGetErrorString(err), file, line);
exit(EXIT_FAILURE);
}
}
#define CUDA_ERROR_CHECK(err) (handleCUDAError(err, __FILE__, __LINE__ ))
__global__ void echoKernel(volatile int* semaphore)
{
*semaphore = 1;
__threadfence_system();
}
int main()
{
CUDA_ERROR_CHECK(cudaSetDevice(0));
CUDA_ERROR_CHECK(cudaSetDeviceFlags(cudaDeviceMapHost));
volatile int var = 0;
volatile int *devptr;
CUDA_ERROR_CHECK(cudaHostRegister((int*)&var, sizeof (int), cudaHostRegisterMapped));
CUDA_ERROR_CHECK(cudaHostGetDevicePointer(&devptr, (int*)&var, 0));
echoKernel <<< 1, 1 >>> (devptr);
while (var == 0) ;
CUDA_ERROR_CHECK(cudaDeviceSynchronize());
CUDA_ERROR_CHECK(cudaHostUnregister((int*)&var));
CUDA_ERROR_CHECK(cudaDeviceReset());
return 0;
}
答案 2 :(得分:0)
$(document).ready(function(){
$(document).on('click','.loadmorebtn',function(){
//code here
//alert(this.id);
alert($(this).attr('id'));
});
});